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.
Importantly, Julia Survey Results demonstrated that the most common non-Julia language expertise of Julia programmers includes not only "fashionable" modern languages (e.g., Python, R, JavaScript, Scala) but also more like specialist-focused ones such as C, C++, MATLAB, Fortran. Thus, the community has an incredible diversity of technical background, and it certainly has a positive impact on creating innovative ideas and implementing them in the real world.
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!
This article is part of the series: Building Recommender Systems in JuliaShare
Categories
Programming Conference Recommender Systems
See also
- 2022-08-06
- Recommendation.jl Came Back to #JuliaCon 2022
- 2021-03-06
- Moving Julia Project from Travis CI to GitHub Actions #JuliaLang
- 2019-03-31
- Publishing My Master's Thesis with Documenter.jl
Last updated: 2022-08-06
Author: Takuya Kitazawa
Takuya Kitazawa is a freelance software developer based in British Columbia, Canada. As a technologist specializing in AI and data-driven solutions, he has worked globally at Big Tech and start-up companies for a decade. At the intersection of tech and society, he is passionate about promoting the ethical use of information technologies through his mentoring, business consultation, and public engagement activities. See CV for more information, or contact at [email protected].
Now Gift a cup of coffeeDisclaimer
- Opinions are my own and do not represent the views of organizations I am/was belonging to.
- I am doing my best to ensure the accuracy and fair use of the information. However, there might be some errors, outdated information, or biased subjective statements because the main purpose of this blog is to jot down my personal thoughts as soon as possible before conducting an extensive investigation. Visitors understand the limitations and rely on any information at their own risk.
- That said, if there is any issue with the content, please contact me so I can take the necessary action.