# This month in Julia world - 2023-05

**URL:** <https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634>\
**Category:** Newsletter\
**Tags:** garbage-collection, graphs, news, ttfx, internals\
**Created:** [May 30, 2023, 9:42pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634 "2023-05-30T21:42:03Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Krastanov](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/krastanov/32/6817_2.png) [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Post date:** [May 30, 2023, 9:42pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/1 "2023-05-30T21:42:03Z")

</div>

There was a [call to action](https://discourse.julialang.org/t/why-open-source-timelines-roadmaps-dont-work/99518/17) for someone to make a newsletter that lists interesting developments in the Julia world, in order to communicate improvements to the language that are not visible unless you track Github and Slack closely. This is my humble attempt, an editorialized, biased, incomplete list of what I personally found interesting this month.

Discourse:

- [Tim’s post](https://discourse.julialang.org/t/why-open-source-timelines-roadmaps-dont-work/99518) prompting me to keep this type of notes - [Why open-source timelines/roadmaps don't work](https://discourse.julialang.org/t/why-open-source-timelines-roadmaps-dont-work/99518)
- [Chris asking](https://discourse.julialang.org/t/are-revise-packagecompiler-and-pkg-part-of-julia-and-how-do-we-better-share-them/99491) how to make Revise and other tooling more cohesively documented - [Are Revise, PackageCompiler, and Pkg "part of Julia", and how do we better share them?](https://discourse.julialang.org/t/are-revise-packagecompiler-and-pkg-part-of-julia-and-how-do-we-better-share-them/99491)
- [Guillaume spearheading](https://discourse.julialang.org/t/the-graphs-ecosystem/99463) more cohesive Graphs ecosystem - [The graphs ecosystem](https://discourse.julialang.org/t/the-graphs-ecosystem/99463)
- [RustFTT.jl](https://discourse.julialang.org/t/ann-rustfft-jl-compute-forward-and-inverse-ffts-with-rustfft/99574/14) - FFT implemented in rust, available as a julia package, not really better than FFTW, but interesting showcase of using rust inside julia - [[ANN] RustFFT.jl: Compute forward and inverse FFTs with RustFFT](https://discourse.julialang.org/t/ann-rustfft-jl-compute-forward-and-inverse-ffts-with-rustfft/99574)

Slack:

- [ttfx] [Lilith and others discussing](https://julialang.slack.com/archives/C03LD7K8HLN/p1684602107700499) the potential for tiered JIT for better latency - [Slack](https://julialang.slack.com/archives/C03LD7K8HLN/p1684602107700499)
- [appreciation] [Me being very impressed with SumTypes.jl](https://julialang.slack.com/archives/C6FGJ8REC/p1684278109859559) - followed by a discussion of techniques for avoiding runtime dispatch / union splitting - [Slack](https://julialang.slack.com/archives/C6FGJ8REC/p1684278109859559)
- [ttfx] [Tim discussing](https://julialang.slack.com/archives/C03LD7K8HLN/p1683654788117629) work on making precompile cache files smaller by avoiding caching unnecessary “junk”- [Slack](https://julialang.slack.com/archives/C03LD7K8HLN/p1683654788117629)

Github:

- [draft] [libuv being bumped to significantly newer version](https://github.com/JuliaLang/julia/pull/49937): libuv is used by Julia (and Node and others) as the core IO/async building block. Julia’s devs have been the main contributors to libuv for a while and they have their own significantly diverged fork - [[DRAFT] update libuv to v2-1.45.0 by vtjnash · Pull Request #49937 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/pull/49937)
- [nearing completion] [JuliaSyntax as a new julia parser](https://github.com/JuliaLang/julia/pull/46372), providing much better error messages, etc. Got a spur of progress after 1.9 was released - [https://github.com/JuliaLang/julia/pull/46372](https://github.com/JuliaLang/julia/pull/46372)
- [merged] [Simpler, more readable stacktraces](https://github.com/JuliaLang/julia/pull/49795) - [Depth-limited printing of types in stacktraces take 2! by JeffBezanson · Pull Request #49795 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/pull/49795)
- [draft] [A proposal for redesigning the Array interface](https://gist.github.com/JeffBezanson/a25dde3bebb5a734af87bb5ddcf31fb0) with a lower-level memory buffer structure - [buffer.md · GitHub](https://gist.github.com/JeffBezanson/a25dde3bebb5a734af87bb5ddcf31fb0)
- [merged] [Multithreaded garbage collection](https://github.com/JuliaLang/julia/pull/48600), significantly speeding up GC - [Run GC on multiple threads by d-netto · Pull Request #48600 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/pull/48600)
- [draft] [Make precompile cache files relocatable](https://github.com/JuliaLang/julia/pull/49866) - [WIP: Make precompile files relocatable by fatteneder · Pull Request #49866 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/pull/49866)

Dustbin of history:

- At some point there was work on [profile-guided-optimization for building even faster Julia](https://github.com/JuliaLang/julia/pull/45641) - [https://github.com/JuliaLang/julia/pull/45641](https://github.com/JuliaLang/julia/pull/45641)
- At some point there were experiment with [tiered JIT for Julia](https://github.com/JuliaLang/julia/pull/47484) - [Tiered JIT Experiments by pchintalapudi · Pull Request #47484 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/pull/47484)

Please feel free to add your own interesting finds, or in-depth explanations, or questions about these developments below.

If you want to help with the 2023 June issue of this informal, biased, editorialized, incomplete newsletter, just dump your **SHORT** notes in [the June draft](https://docs.google.com/document/d/1Np1deH_W1o0EO7_tZkScveCLA0XiYg538ceUJs0bFpE/edit). Some of it might survive and be posted in my June post (or maybe I will forget about this by then, but someone else will take care of future posts).

---

<div class="post-metadata">

**Author:** ![quinnj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/quinnj/32/11_2.png) [@quinnj](https://discourse.julialang.org/u/quinnj)\
**Post date:** [May 31, 2023, 12:12am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/2 "2023-05-31T00:12:44Z")

</div>

This was very cool; thanks for putting it together!

---

<div class="post-metadata">

**Author:** ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)\
**Post date:** [May 31, 2023, 12:27am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/3 "2023-05-31T00:27:41Z")

</div>

Maybe the best post (topic) I’ve seen on Discourse. I missed a lot of this stuff. I also fully support you being a ruthless autocrat when exercising your editorial voice.

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [May 31, 2023, 4:39am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/4 "2023-05-31T04:39:54Z")

</div>

I like this initiative as a typical example of what happens in the Julia ecosystem at large. Lots to do and too few people to do it, so at some point a volunteer rolls up their sleeves and contributes. Thank you!

---

<div class="post-metadata">

**Author:** ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)\
**Post date:** [May 31, 2023, 7:47am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/5 "2023-05-31T07:47:45Z")

</div>

Great initiative! I hope that Julia’s community can grow to the level that this newsletter can compete in quality and content with Rust’s newsletter.  
[https://this-week-in-rust.org/blog/2023/05/24/this-week-in-rust-496/](https://this-week-in-rust.org/blog/2023/05/24/this-week-in-rust-496/)

---

<div class="post-metadata">

**Author:** ![antoine-levitt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/antoine-levitt/32/4008_2.png) [@antoine-levitt](https://discourse.julialang.org/u/antoine-levitt)\
**Post date:** [May 31, 2023, 8:42am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/6 "2023-05-31T08:42:56Z")

</div>

This is awesome, please keep on doing it! Wonderful selection of hard-to-find nuggets of information, and excellent tradeoff of conciseness vs completeness! One thing that confused me is that you put each link twice, so it’s less readable than if you just have one link per item.

---

<div class="post-metadata">

**Author:** ![AMJ](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amj/32/214096_2.png) [@AMJ](https://discourse.julialang.org/u/AMJ)\
**Post date:** [May 31, 2023, 11:27am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/7 "2023-05-31T11:27:04Z")

</div>

Thanks for doing this awesome post.

Extremely excited about libuv update which will support io\_uring in linux. Each post honestly is very exciting stuff.

It is a good time to be a Julia enthusiast and practitioner.

---

<div class="post-metadata">

**Author:** ![liuyxpp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/liuyxpp/32/9870_2.png) [@liuyxpp](https://discourse.julialang.org/u/liuyxpp)\
**Post date:** [May 31, 2023, 12:41pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/8 "2023-05-31T12:41:42Z")

</div>

> [@Krastanov](#):
>
> [merged] [Multithreaded garbage collection](https://github.com/JuliaLang/julia/pull/48600), significantly speeding up GC - [https://github.com/JuliaLang/julia/pull/48600](https://github.com/JuliaLang/julia/pull/48600)

This one is soooooOOOOOO great!

---

<div class="post-metadata">

**Author:** ![ctkelley](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ctkelley/32/10684_2.png) [@ctkelley](https://discourse.julialang.org/u/ctkelley)\
**Post date:** [May 31, 2023, 2:51pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/9 "2023-05-31T14:51:58Z")

</div>

Great stuff! Thanks for doing this.

---

<div class="post-metadata">

**Author:** ![vchuravy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vchuravy/32/8_2.png) [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Post date:** [May 31, 2023, 8:27pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/10 "2023-05-31T20:27:52Z")

</div>

I created a subcategory here: Community/Newsletter to make it easy for folks to subscribe to just this category see the small bell.

I really enjoy [LLVM Weekly](https://llvmweekly.org/) and [MLIR News](https://discourse.llvm.org/c/mlir/mlir-news-mlir-newsletter/37) and if we can sustain something like this for Julia that would be awesome!

---

<div class="post-metadata">

**Author:** ![mrufsvold](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrufsvold/32/31600_2.png) [@mrufsvold](https://discourse.julialang.org/u/mrufsvold)\
**Post date:** [June 1, 2023, 2:54am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/11 "2023-06-01T02:54:53Z")

</div>

@Krastanov, this is really really great. Thank you! Do you feel that doing this monthly is sustainable for you? Is there anyway we can help without flooding you with a million redundant suggestions?

---

<div class="post-metadata">

**Author:** ![Krastanov](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/krastanov/32/6817_2.png) [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Post date:** [June 1, 2023, 3:11am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/12 "2023-06-01T03:11:15Z")

</div>

I have no idea whether it is sustainable, but probably will know in a few months.

The easiest way to help would be to add neatly formatted short suggestions with links in [the draft for next mont](https://docs.google.com/document/d/1Np1deH_W1o0EO7_tZkScveCLA0XiYg538ceUJs0bFpE/edit)

---

<div class="post-metadata">

**Author:** ![Barget](https://avatars.discourse-cdn.com/v4/letter/b/94ad74/32.png) [@Barget](https://discourse.julialang.org/u/Barget)\
**Post date:** [June 1, 2023, 8:46pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/13 "2023-06-01T20:46:27Z")

</div>

An (naive) idea here: why not put it in a repo? (in e.g. markdown) That way, it may be as easy to contribute, to track change, to be accessible by the community (instead of needing to know / find the link to the google doc) and also, for someone else to “publish” it if it appears it’s too much of a burden for you (which would be understandable, of course).

NB: I’m talking of the draft, of course

---

<div class="post-metadata">

**Author:** ![Krastanov](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/krastanov/32/6817_2.png) [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Post date:** [June 1, 2023, 9:03pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/14 "2023-06-01T21:03:24Z")

</div>

Sure, but I do not see what anyone gets out of this. I am lazy and do not want to create unnecessary work for myself. But I would be happy to let you set that up and take over if you would like!

---

<div class="post-metadata">

**Author:** ![vchuravy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vchuravy/32/8_2.png) [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Post date:** [June 2, 2023, 10:54pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/15 "2023-06-02T22:54:59Z")

</div>

Two avenues. Firstly you can make post on discourse so called “community wikis”, secondly [hackmd.io](http://hackmd.io) is a great platform for collaborative markdown editing so you don’t need to reformat the GDoc.

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [June 3, 2023, 12:12am UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/16 "2023-06-03T00:12:21Z")

</div>

This is a fantastic initiative! Please do keep it going 🙂

---

<div class="post-metadata">

**Author:** ![diversable](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/diversable/32/22921_2.png) [@diversable](https://discourse.julialang.org/u/diversable)\
**Post date:** [June 4, 2023, 8:44pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/17 "2023-06-04T20:44:39Z")

</div>

Thank you, Stefan! This is great work!!

I was wondering if you would be open to including blog posts about Julia eg. from the Dev.to community and maybe Medium posts as well…?

Some other sections you might want to consider adding to the newsletter are:

- Calls for participation
- new package releases (or new versions of existing packages)
- info about Julia conference(s) (ie. JuliaCon as well as package-focused conferences about Pluto, JuMp, SciML etc.)
- Julia job postings

You might want to get in touch with @logankilpatrick about the community spaces & initiatives that he’s set up for the Julia Community already, too.

Just a thought…

---

<div class="post-metadata">

**Author:** ![Krastanov](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/krastanov/32/6817_2.png) [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Post date:** [June 4, 2023, 9:20pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/18 "2023-06-04T21:20:57Z")

</div>

All of these suggestions make a ton of sense. Just go ahead and add anything along these lines to the draft, even if there is no obvious section for it right now.

If I think something is inappropriate I will simply delete it and we can have a more detailed back-and-forth about sections if that happens. But no need to spend too much time thinking about it until such an occasion arises.

---

<div class="post-metadata">

**Author:** ![suavesito](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/suavesito/32/34386_2.png) [@suavesito](https://discourse.julialang.org/u/suavesito)\
**Post date:** [June 9, 2023, 6:50pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/19 "2023-06-09T18:50:46Z")

</div>

Hey! I want to volunteer for this work!

I was thinking, what if we create a GitHub organization `WeeklyJulia` so that we can receive pings and issues with links there. That way, we don’t put a big burden to the devs, a ping in GitHub is almost free. Issue filling is a little more annoying, but still less than a new full blog. With those, then we can do the editorial work every weekend.

If you think this is a good idea, I can create the Org. 🙂

---

<div class="post-metadata">

**Author:** ![Krastanov](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/krastanov/32/6817_2.png) [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Post date:** [June 9, 2023, 7:07pm UTC](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634/20 "2023-06-09T19:07:57Z")

</div>

I personally think that this just overly complicates things and creates way too many roadblocks for contributors (compared to the current version of just dumping your thoughts in a google doc and simply copy pasting it on discourse). But I do not have ownership over this and you are at least the second person suggesting the github approach, so if you have the bandwidth to make all this work, please do! No need to ask for permission 😃

Edit: Feel free to also ping whoever here has expressed desire to help, and we can have a longer discussion on whatever platform you set up.

[Next page](https://discourse.julialang.org/t/this-month-in-julia-world-2023-05/99634.md?page=2)
