OCaml Weekly News

Previous Week Up Next Week

Hello

Here is the latest OCaml Weekly News, for the week of January 15 to 22, 2019.

Table of Contents

openai-gym-ocaml: reinforcement learning algorithms trainnig environment

Louis Mandel announced

We are happy to announce the first release of openai-gym-ocaml (https://github.com/IBM/openai-gym-ocaml) an OCaml binding to the openai-gym toolkit for developing and comparing reinforcement learning algorithms (https://gym.openai.com/).

The library can be installed using opam:

opam install openai-gym

It also requires a gym-http-api server (https://github.com/openai/gym-http-api) to communicate with Python.

Compiler software engineer at Habana

KAMMAR Ohad announced

An opportunity for a PLT-savvy compiler developer. For an ad from Habana, see below. In short:

Habana is a start-up based in Tel-Aviv, Israel, developing specialised hardware for deep-learning libraries/APIs/frameworks (TensorFlow, PyTorch, Cafe2, mxnet, ONNX). They're interested in someone with PL design and implementation know-how, who is also interested in relocating to Israel in the first instance.

I can answer some basic questions about this position. I'm currently at POPL if that helps, or just drop me an email. For detailed answers, including details about the application process, please contact Tzachi Cohen <tcohen@habana.ai>.

Please forward this message to anyone or any mailing list that you think might be relevant.

Yours, Ohad.

https://habana.ai/
Position: Compiler software engineer
Percentage: Full time

Habana is a young and innovative startup company, located in Tel-Aviv Israel, that focuses on developing disruptive solutions that will shape the future of AI and Deep Learning computing. Led by top technologists and successful entrepreneurs, with the backing of premier venture capitalists, our vision is to take AI processing from its current limits to the peak of its potential. We see challenges as a tremendous opportunity, we are focused on execution and determined to make our vision come true. We are looking for exceptionally smart people who believe that AI will change the world and would like to join our exciting journey!

Habana is looking to hire a world class compiler engineer to work in a talented and motivated team of great engineers. You will be responsible for design and implementation of an advanced C/C++ based compiler environment for novel AI processor. You will get a chance to tackle several interesting and challenging problems working on compilers for cutting-edge technologies.

What we need to see:

  • Strong background in compilers.
  • Strong C/C++ programming skills.
  • A strong understanding of:
    • Parallel programming models.
    • Programming language design.
    • Knowledge of ELF and linkers
    • Knowledge of Compiler front-end and back-end
  • Experience with variety of aspects of compiler including:
    • Clang and LLVM
    • Code optimizations
    • Data flow analysis
    • Code generation and building a good compiler framework.

The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.

Contractor to work on F* and Project Everest

Nikhil Swamy announced

Microsoft Research is looking to hire a short-term contractor (part-time, for 3-6 months with some possibility for extension) to work on F* and Project Everest. See https://fstar-lang.org and https://project-everest.github.io for more information.

An ideal candidate would have several of the following skills:

  • OCaml, including ocamlbuild
  • Makefiles and build systems
  • Emacs and elisp
  • Docker
  • Git
  • Willingness to work with bleeding edge research tools
  • Ability to work in geographically distributed environment (flexible with timezones, good at written communication, etc.)
  • Some understanding of, or at least curiosity to learn about, program verification

The work would not necessarily lead to publishable research, but it would involve working in an engineering role on open-source software, in close collaboration (though remotely) with a large PL/Systems/Security research team.

Please reply directly to me (nswamy@microsoft.com) if you are interested.

Google Summer of Code

Yotam Barnoy said

I'd like to look into joining Google Summer of Code this summer.

For those who don't know, GSoC is a summer internship sponsored by Google, where open source organizations get full-time students as interns (paid by Google) to help take care of tasks. It's a huge boon to many ecosystems, allowing potentially some impressive progress to take place, and therefore many organizations try to qualify.

In order to apply, we'd need:

  • A list of good task suggestions for students. These tasks need to be things that can be realistically done by someone working full-time over a single summer. Students can suggest other tasks, but we need to provide some suggestions.
  • People volunteering to mentor a student. Mentoring requires continuous communication and contact with the student, as well as responding to requests and questions. I've mentored in the past, and it's a fun experience.

In general, Google wants to know that its money isn't wasted, so we'd need to provide a schedule of desired deliverables where we check up on what the student has been doing. Occasional blogging by the student is also heavily encouraged, so as to show and advertise their work.

Let's see if we can get a list of tasks for this summer. One nice thing about a task list is that even if we don't get in this summer, once we have the list, we can reuse it when applying next year. I've created a page on ocamlverse for the list. Feel free to add a task there or here in this discussion – any medium-sized task in the compiler or ecosystem should be good.

Anton Kochkov then said

From my experience as GSoC administrator, it is important also to write:

  • General introduction about the project and approximate roadmap
  • Application process, template, contacts of the administrators and mentors, conflict management
  • Guidelines for writing proposal, contributing and testing methodology
  • Evaluation criteria for all tasks (1st term, 2nd term and final term)
  • Benefits for students and project that solving particular task can give
  • Additional information about task - links to the github issues, code paths, papers and references

Anton Kochkov then added

Other OCaml News

From the ocamlcore planet blog

Old CWN

If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.

If you also wish to receive it every week by mail, you may subscribe online.