I have attended and presented at JuliaCon 2019 held in Baltimore, MD, USA:
Recording is available at YouTube:
The 10-min lightning talk was very short. But it was a great opportunity to introduce my Recommendation.jl package and hear the comments from the audiences. Plus, I was inspired a lot by the other sessions and nice people I've met throughout the conference.
Recommender Systems in Julia
As I spoke, since recommendation is not only about machine learning, I'm trying to keep the Recommendation.jl package as simple as possible with leaving enough space for user-side customization. This approach works particularly well for Julia because of its easiness, efficiency, and great package ecosystem.
In fact, due to the limited number of practical use cases, I'm still unsure if I created the package in the right way. However, a fact that Recommendation.jl is used in a book "Julia Programming Projects" hopefully shows a certain degree of usability:
In this article, we will look at machine learning based recommendations using Julia. We will make recommendations using a Julia package called ‘Recommendation’.
This article is an excerpt from a book written by Adrian Salceanu titled Julia Programming Projects.
— How to make machine learning based recommendations using Julia [Tutorial]
Didn't know the book until very recently! I'd like to thank the author because it strongly motivates me to work more heavily on the personal project :)
Meanwhile, someone at the conference said to me like:
Oh, are you the author of Recommendation.jl? My first Julia code was actually with the recommendation package!
That's the power of the Julia ecosystem...everyone can easily and equally accessible to a wide variety of community-developed packages, and using the packages in their code is quite straightforward.
After my talk, Abhijith Chandraprabhu, a person working dedicatedly for the Julia Computing organization and creator of RecSys.jl, reached out to me. We shared a lot of our experiences and opinions for Julia and recommender systems, even during the conference dinner and Inner Harbor cruise. It was the most meaningful time at this conference.
Excited to contribute more to the Recommender Systems in Julia field from now on.
Julia Ecosystem in 2019
To be ready for the presentation, I have revisited my code and released v0.3.0 of the recommendation package. For this purpose, walking through the "Think Julia" book was so helpful to make sure my understanding of the basics.
Interestingly, as an inactive holiday Julia programmer, I always find something new every time I review my Julia code thanks to the actively developed ecosystem. For example, this time I noticed that the community has developed Registrator.jl and changed a way to release Julia packages; the official registry has been moved from METADATA.jl to JuliaRegistries/General.
Therefore, I was able to catch up recent progress on the Julia community before going to Baltimore. Currently, in combination with my JuliaCon 2019 experience, I believe the following topics particularly play an important role in the entire language ecosystem:
- Maturity of the language itself since the last year's announcement of Julia 1.0.0
- GPU/hardware-based acceleration e.g., "XLA.jl: Julia on TPUs"
- Machine learning toolkits e.g., "MLJ - Machine Learning in Julia"
Meanwhile, I enjoyed a keynote talk by Prof. Madeleine Udell from Cornell. She introduced LowRankModels.jl, and the topic is exactly the one that I studied in my master's project.
Julia Unifies Academia and Industry
The reason why I'm working as a data science engineer in the industry is that here is the great place to work in the middle of scientific algorithms and real-world applications; I do like scientific theories, but I strongly believe almost all of them are useless without practical real-world implementation. On that point, the Julia community is exceptionally attractive as an intersection between academia and industry.
At JuliaCon 2019, I met a wide variety of professionals and students coming from different fields and geographical locations. Can you imagine a situation that everyone including university professors, industrial researchers, data scientists, financial analysts, software engineers, students studying in different departments, and weekend coders gathers together at the single location? JuliaCon does make it real.
To be honest, I didn't expect such an exciting and productive conference experience. Thank you all of the community members for making it possible!
Author: Takuya Kitazawa
Takuya Kitazawa (a.k.a. takuti) is working on machine learning, data science, and product development at Arm Treasure Data.
Opinions are my own.
- Why a Data Science Engineer Becomes a Product Manager
- Apache Hivemall at #ODSCEurope, #RecSys2018, and #MbedConnect
- Parallel Programming vs. Concurrent Programming
- Publishing My Master's Thesis with Documenter.jl
- FluRS: A Python Library for Online Item Recommendation
- Recommendation.jl: Building Recommender Systems in Julia