# Areas for new users to contribute to?

**URL:** https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595
**Category:** Internals & Design
**Created:** [July 2, 2017, 8:25am UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595 "2017-07-02T08:25:58Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![jeffwong](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffwong/32/1276_2.png) [@jeffwong](https://discourse.julialang.org/u/jeffwong)
#### Post date: [July 2, 2017, 8:25am UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/1 "2017-07-02T08:25:58Z")

</div>

I am a new user to Julia and am extremely impressed with the language. I used to be an active R developer contributing to the community, and am now looking for ways to contribute to Julia.

I am very interested in scientific computing, specifically in

Machine Learning  
Causal inference  
Numeric optimization  
Reproducible Research

I have ~7 years experience of developing in R and Rcpp. Are there any areas that are suitable for a new comer to contribute to? What are the priorities in the community?

---

<div class="post-metadata">

### Author: ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)
#### Post date: [July 2, 2017, 8:46am UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/2 "2017-07-02T08:46:26Z")

</div>

Just browse the topics here (for example, [List of most desired features for Julia v1.x](https://discourse.julialang.org/t/list-of-most-desired-features-for-julia-v1-x/4481) , and [Specific Domains - JuliaLang](https://discourse.julialang.org/c/domain)). Or at github: [Issues · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/issues)

From my own perspective: Priorities are in getting the package ecosystem up to language v0.6, work on infrastructure (tooling around the language), contribute to testing, consolidate packages.

---

<div class="post-metadata">

### Author: ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)
#### Post date: [July 2, 2017, 11:58am UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/3 "2017-07-02T11:58:41Z")

</div>

Welcome ! In Julia itself, many issues have been marked as [“intro issue”](https://github.com/JuliaLang/julia/issues?q=is%3Aopen+is%3Aissue+label%3A%22intro+issue%22), indicating that we know how to fix them, and the solution is not too hard to implement.

You can also start by contributing to packages, which is easier as a first step. In particular, the [JuliaStats](https://github.com/JuliaStats/) packages would certainly benefit from help in many different areas (our team is quite small currently). You can have a look at the open issues, or see what you consider as missing pieces in the API.

Finally, since I see you’re the author of several R packages, you could create your own Julia package implementing features which are still lacking. This will likely lead you to contributing to fundamental packages once you realize some pieces are missing there to integrate your package in the wider ecosystem.

---

<div class="post-metadata">

### Author: ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)
#### Post date: [July 3, 2017, 4:41pm UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/4 "2017-07-03T16:41:05Z")

</div>

For optimization you could look at [Optim.jl](https://github.com/JuliaNLSolvers/Optim.jl) and [BlackBoxOptim.jl](https://github.com/robertfeldt/BlackBoxOptim.jl). One issue is that the two packages don’t use the same interface, it could be investigated whether a more streamlined interfaced could be implemented. There’s also algorithms that can be implemented (e.g. recent CMA-ES variations). I don’t think Optim.jl supports parallel evaluation, which is probably quite useful in some cases.

I also started implementing the Black-Box Optimization Benchmarking (BBOB) functions for benchmarking. BlackBoxOptim.jl has some benchmark but this could be made into a more general, separate package.

---

<div class="post-metadata">

### Author: ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)
#### Post date: [July 3, 2017, 5:28pm UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/5 "2017-07-03T17:28:49Z")

</div>

> [@jonathanBieler](#):
>
> One issue is that the two packages don’t use the same interface, it could be investigated whether a more streamlined interfaced could be implemented.

Isn’t that what JuMP is for?

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [July 3, 2017, 5:43pm UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/6 "2017-07-03T17:43:31Z")

</div>

> [@stevengj](#):
>
> Isn’t that what JuMP is for?

JuMP is a DSL. MathProgBase is the interface. It would be nice if everything standardized there, but MathProgBase is pretty complicated. And MathProgBase is being replaced with MathOptInterface. I hope it’s made with the intention of making it easy for Optim.jl and BlackBoxOptim.jl to join in.

---

<div class="post-metadata">

### Author: ![jeffwong](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffwong/32/1276_2.png) [@jeffwong](https://discourse.julialang.org/u/jeffwong)
#### Post date: [July 4, 2017, 8:08pm UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/7 "2017-07-04T20:08:18Z")

</div>

@nalimilan this looks like a good place to start for me. I have been a data scientist in the industry for 5 years and can probably contribute to this area.

Being a new user, I think one of the best areas to contribute to in the short term is writing a tutorial navigating all the packages from the point of view of a new user. It seems there are DataFrames now but the future might be DataTables or IterableTables. Also for plotting a lot of tutorials are written for Gadfly, but Plots seems to be the better way to go these days. A lot of information in blog posts/tutorials are out of date, and admittedly without centralization it will be hard to keep them up to date at the speed Julia is changing.

If I want to organize a subdomain for JuliaTutorials, what should I do? I’ve noticed that every domain in Julia has its own github group. Are these officially registered, or can I open one myself?

---

<div class="post-metadata">

### Author: ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)
#### Post date: [July 4, 2017, 8:14pm UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/8 "2017-07-04T20:14:50Z")

</div>

Tutorials would certainly be useful, though individual packages also often lack basic documentation (docstrings, minimal Documenter manual…). Organizations are mainly there to allow a group of people to coordinate their efforts. In your case, you could just start a project under your own account, and move it to an organization when the need for it is obvious (there is not registration process).

---

<div class="post-metadata">

### Author: ![joshualeond](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joshualeond/32/230_2.png) [@joshualeond](https://discourse.julialang.org/u/joshualeond)
#### Post date: [July 14, 2017, 3:15pm UTC](https://discourse.julialang.org/t/areas-for-new-users-to-contribute-to/4595/9 "2017-07-14T15:15:13Z")

</div>

I’ve been using your `fastVAR` package at work! Julia doesn’t appear to have much in terms of time series models. There’s been work [here](https://github.com/JuliaStats/TimeSeries.jl) and recently [here](https://github.com/dysonance/Temporal.jl) for a time series data structure. The only package I’ve seen for any time series models was [this](https://github.com/JuliaStats/TimeModels.jl) one which appears to be abandoned. Look forward to seeing what you develop in Julia.
