{"id":8107,"date":"2018-12-12T10:20:08","date_gmt":"2018-12-12T12:20:08","guid":{"rendered":"http:\/\/blog.plataformatec.com.br\/?p=8107"},"modified":"2018-12-12T14:12:13","modified_gmt":"2018-12-12T16:12:13","slug":"plataformatec-and-elixir-2018-in-review","status":"publish","type":"post","link":"https:\/\/blog.plataformatec.com.br\/2018\/12\/plataformatec-and-elixir-2018-in-review\/","title":{"rendered":"Plataformatec and Elixir: 2018 in review"},"content":{"rendered":"

As the company behind Elixir, Plataformatec has been involved with Elixir since its conception through Jos\u00e9 Valim, Elixir’s creator, co-founder and Director of R&D at Plataformatec.<\/p>\n

This year we set up a new challenge for us: we would like to increase the team of developers working on the Elixir ecosystem from 1 developer to 3 developers, with at least 70% of their time focused on the community. We are glad to say we were able to achieve this milestone and drastically increase the contributions we have done to Elixir since then. This post is a recap of the contributions we made throughout the year 2018 and what to look forward next.<\/p>\n

Q1 2018<\/h2>\n

We started the year working directly on Elixir v1.6<\/a>, which had as its main feature the Elixir code formatter.<\/p>\n

In January, we also saw our proposal for a shared Documentation storage and format<\/a>\u00a0be accepted by the Erlang\/OTP team into the standards track.<\/p>\n

We finished the quarter by adding a new library to our collection of nimble_*<\/code> libraries, called NimbleParsec<\/a>. NimbleParsec is an extremely efficient text-based parser combinator library for Elixir and is already used by libraries such as Absinthe GraphQL<\/a>\u00a0and Makeup<\/a>.<\/p>\n

Around the same time, the Adopting Elixir<\/a>\u00a0book, written by Ben Marx, Jos\u00e9 Valim and Bruce Tate, was published by PragProg and it includes many of the lessons we have learned throughout the years when working with companies adopting Elixir at different stages.<\/p>\n

Ulisses Almeida, who was a member of our projects team at the time, also released Learn Functional Programming with Elixir<\/a>, published by PragProg.<\/p>\n

Q2 2018<\/h2>\n

In the second quarter we released Plug v1.6, which had an increased focus on better defaults for security, thanks to tons of help from the community.<\/p>\n

The Elixir community also took part on Google Summer of Code. Plataformatec joined other community members to work as a mentor on four different projects<\/a>. In particular, Jos\u00e9 Valim was a mentor to Anshuman Chhabra, who worked on the Tensorflex project to bring Tensorflow bindings for the Elixir programming language. The source code is on GitHub\u00a0<\/a>and a workshop paper was published later this year<\/a>.<\/p>\n

In June, we publicly announced the Elixir Development Subscription<\/a>\u00a0service, designed to help companies build Elixir applications with speed and confidence via code reviews, development support and technical meetings. As we will see in the next two quarters, the Elixir Development Subscription played a fundamental role in increasing our contributions to the Elixir ecosystem.<\/p>\n

We finished the quarter by releasing a new version of Flow<\/a>, with many improvements and feedback brought by the community and our clients.<\/p>\n

We also spoke about property-based testing and Elixir’s code formatter at ElixirConf Europe<\/a>.<\/p>\n

Q3 2018<\/h2>\n

We started Q3 by working on the Elixir v1.7 release<\/a>.<\/p>\n

In August, Wojtek Mach joined the Elixir Development Subscription team<\/a>\u00a0to double our efforts on open source. His first task was to tidy up and announce the hex_core<\/code> library<\/a>\u00a0that he was working on over the previous months. He has since then focused his efforts on the upcoming MyXQL driver for Ecto<\/a>.<\/p>\n

Shortly after, the Erlang\/OTP team also merged Jos\u00e9 Valim’s PR that should improve string splitting and matching in the next Erlang\/OTP version<\/a>\u00a0by up to 70 times in some situations. A subsequent pull request also reduced memory usage for single-byte lookups<\/a>.<\/p>\n

We finished the quarter with two presentations at ElixirConf 2018: Jos\u00e9 Valim gave the keynote about Elixir’s next five years<\/a>\u00a0and Jo\u00e3o Britto spoke about what you can find in Erlang\/OTP<\/a>.<\/p>\n

Q4 2018<\/h2>\n

In the last quarter, we finally released Ecto 3.0<\/a>, as well as new versions of many database-related tools, such as DBConnection 2.0<\/a>\u00a0and Postgrex 0.14<\/a>, with a lot of help from James Fish, project maintainers, and the community. We also published a series of blog posts about Ecto 3.0<\/a>\u00a0and Wojtek Mach updated Hex.pm to run on latest Ecto<\/a>. Finally, we announced that Ecto now provides a stable API<\/a>.<\/p>\n

We have also contributed actively to the Phoenix v1.4 release<\/a>.<\/p>\n

In November, we also started our work as a mentor to community member Micha\u0142 Muska\u0142a on the Firenest project<\/a>, which is being sponsored by the Mozilla Foundation under an open source grant. Micha\u0142 gave an excellent talk on the rationale behind Firenest at Code BEAM Lite Berlin 18<\/a>.<\/p>\n

We wrote about one of the many ways we use to teach Elixir inside Plataformatec<\/a>\u00a0and Wojtek contributed the work that allows the Hex CLI documentation to be hosted on Hexdocs itself<\/a>.<\/p>\n

At the time of writing, we have two on-going activities that we hope to finish before the end of the quarter: Wojtek Mach is documenting all of the steps to create an Ecto adapter<\/a>\u00a0and Jos\u00e9 Valim is live streaming as he works through all the Advent of Code puzzles<\/a>.<\/p>\n

Next steps<\/h2>\n

By this time, more than a dozen companies are using our Elixir Development Subscription service to build Elixir applications with speed and confidence. Those companies use Elixir to develop a wide variety of systems, from web applications to data processing pipelines and distributed systems. If you want to join those companies and leverage our expertize in your day to day work, let’s talk<\/a>!<\/p>\n

The growth we have seen in previous months allowed us to welcome Marlus Saraiva<\/a>\u00a0to our R&D team and he is currently working on a new Elixir library for event-processing that we plan to announce in the first quarter of 2019.<\/p>\n

Furthermore, since Elixir releases happen every 6 months, Elixir v1.8 should be out next January, and we have already started focusing our efforts on it<\/a>. Jos\u00e9 Valim is also live streaming<\/a>\u00a0some of the work that should be seen in the next release.<\/p>\n

We are looking forward to a great 2019!<\/p>\n

\"banner-elixir<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

As the company behind Elixir, Plataformatec has been involved with Elixir since its conception through Jos\u00e9 Valim, Elixir’s creator, co-founder and Director of R&D at Plataformatec. This year we set up a new challenge for us: we would like to increase the team of developers working on the Elixir ecosystem from 1 developer to 3 … \u00bb<\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[143],"aioseo_notices":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/posts\/8107"}],"collection":[{"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/comments?post=8107"}],"version-history":[{"count":9,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/posts\/8107\/revisions"}],"predecessor-version":[{"id":8110,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/posts\/8107\/revisions\/8110"}],"wp:attachment":[{"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/media?parent=8107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/categories?post=8107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/tags?post=8107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}