-
-
Notifications
You must be signed in to change notification settings - Fork 468
newsletter 2025 Feb #2259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
newsletter 2025 Feb #2259
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| @def title = "This Month in Julia World" | ||
| @def authors = "Stefan Krastanov" | ||
| @def published = "1 March 2025" | ||
| @def rss_pubdate = Date(2025, 3, 1) | ||
| @def rss = """Community Newsletter for February 2025""" | ||
|
|
||
| A monthly newsletter, mostly on julia internals, digestible for casual observers. A biased, incomplete, editorialized list of what I found interesting this month, with contributions from the community. | ||
|
|
||
| “Internals” Fora and Core Repos (Slack/Zulip/Discourse/Github): | ||
|
|
||
| * Revise is almost ready to work on structs, not just functions… This went from “never going to happen” to “standard feature” in the blink of an eye. See [slack discussion](https://julialang.slack.com/archives/C03D578FCDD/p1738836742511929) and the [last PR in the series](https://github.com/JuliaLang/julia/pull/57253). | ||
| * JETLS.jl: New [language server for Julia](https://julialang.slack.com/archives/C6FGJ8REC/p1739952975346129) with advanced static analysis in a nascent stage of development and potentially Google Summer of Code positions open for it. | ||
| * [“C codegen considered unnecessary”](https://arxiv.org/abs/2502.01128) is a neat example by folks at JuliaHub of the new compile-to-binary capabilities introduced in Julia | ||
| * The `@threads` macro can cause normal looking Julia code to have somewhat confusing behavior in an edge case. Namely, redefining variables inside of the newly defined closure and the way that boxing of variables works in Julia break the mental model of “a variable in Julia is just a label to a piece of actual data and assigning a variable does not modify the data, rather it just changes the what is being labeled”. A pretty esoteric source of bugs, with a [possible fix/warning proposed in a recent PR](https://github.com/JuliaLang/julia/pull/57185). | ||
| * Pkg now prints if the [precompiled and loaded versions of a library are mismatched](https://julialang.slack.com/archives/C03D578FCDD/p1735656334706059) (frequent source of repeated precompilation when updating packages in a long-lived session). [PR1](https://github.com/JuliaLang/julia/pull/56901) and [PR2](https://github.com/JuliaLang/julia/pull/56926) | ||
| * Compiler.jl, the julia compiler now factored out as a stdlib that you can experiment with, is getting its [best practices document](https://github.com/JuliaLang/julia/pull/57520). | ||
| * More [caching capabilities for Julia code](https://github.com/JuliaLang/julia/pull/57193) running through customized compilers / AbstractInterpreters, remind me of the much bigger project of setting up a reliable [API for integrating external compilers](https://github.com/JuliaLang/julia/pull/52964). | ||
| * Deep [rework and cleanup for `IOBuffer`](https://github.com/JuliaLang/julia/pull/57570) is coming up. | ||
| * In case you did not know, besides the subtyping comparator `<:` we have a supertyping comparator `:>` that can be used in type parameterizations. It now also has a little bit more [syntactic sugar support](https://github.com/JuliaLang/julia/pull/57554). | ||
| * Suggested best practices for [documenting return value types](https://github.com/JuliaLang/julia/pull/57583). | ||
| * BinaryBuilder.jl will soon be able to run on newer versions of julia instead of [being stuck to 1.7](https://github.com/JuliaPackaging/JLLPrefixes.jl/issues/6) thanks to [stability guarantees to some internals of Pkg](https://github.com/JuliaLang/Pkg.jl/pull/4156) enabled by [recent work](https://github.com/JuliaLang/Pkg.jl/pull/4151). | ||
| * Internal support for LLVM 19 and 20 in the julia compiler is [nearly done](https://github.com/JuliaLang/julia/pull/57352). | ||
Krastanov marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| * Support for using various external garbage collection algorithms (thanks to immix) is [growing here](https://github.com/JuliaLang/julia/pull/57327) and [here](https://github.com/JuliaLang/julia/pull/57294). | ||
|
|
||
| In search of contributors and new maintainers (specify novice/moderate/expert and internals/domain background necessary): | ||
|
|
||
| * The Center for Quantum Networks is running [many bounties and minigrants](https://github.com/QuantumSavory/.github/blob/main/BUG_BOUNTIES.md) on a variety of support packages for quantum information science. | ||
| * [SciML is running a large set of funded small projects](https://sciml.ai/small_grants/) – a great opportunity to contribute to the community and be paid for it. | ||
|
|
||
| Ecosystem Fora, Maintenance, and Colab Promises (Slack/Zulip/Discourse/Github): | ||
|
|
||
| * [ComposableAsyncStatus.jl](https://code.tecosaur.net/tec/ComposableAsyncStatus.jl#headline-1) is amazing for [progress reporting from multiple potentially parallel tasks](https://julialang.slack.com/archives/C67910KEH/p1739280864875829). | ||
| * [RxInfer.jl just got to v1](https://discourse.julialang.org/t/release-rxinfer-4-0-0-and-updated-documentation/126145), an amazing package for Bayesian inference. | ||
| * AcademicIdentifiers.jl – a convenient library to work with [DOI/ORCiD/Arxiv and more](https://code.tecosaur.net/tec/AcademicIdentifiers.jl) | ||
| * An in-depth discussion of the details behind [abstol and reltol in ODE solvers](https://discourse.julialang.org/t/setting-abstol-and-reltol-when-solving-the-schrodinger-equation-with-ordinarydiffeq/125534). | ||
| * [CImGui v5.0.0](https://github.com/JuliaImGui/CImGui.jl) and [ImPlot v0.6.0](https://github.com/JuliaImGui/ImPlot.jl) are out with many improvements: new [documentation](https://juliaimgui.github.io/ImGuiDocs.jl/cimgui/stable/), updating for latest library versions, using official GLFW/OpenGL backends, cleaning boilerplate code, and even experimental Makie plots integration (see [relevant discussion](https://github.com/JuliaImGui/CImGui.jl/discussions/52#discussioncomment-12066825)). And finally, [ImGuiTestEngine.jl](https://github.com/JuliaImGui/ImGuiTestEngine.jl) is a new testing and automation library. Now it is even easier to develop content creation tools, visualization / debug tools, using lots of widgets and plots with dynamic and interactive behaviour. | ||
| * Makie.jl used for some amazing plots in a [recent neutrino physics discovery](https://makie.org/website/blogposts/showcases/). | ||
| * A proposal for better support for [file path handling and abstraction](https://discourse.julialang.org/t/designing-a-paths-julep/124335) in Julia. | ||
| * The ITensor team is developing new packages for quantum operators and tensor algebra:[ QuantumOperatorAlgebra.jl](https://github.com/ITensor/QuantumOperatorAlgebra.jl),[ QuantumOperatorDefinitions.jl](https://github.com/ITensor/QuantumOperatorDefinitions.jl), and[ TensorAlgebra.jl](https://github.com/ITensor/TensorAlgebra.jl). | ||
| * [TerminalSystemMonitor.jl](https://discourse.julialang.org/t/ann-terminalsystemmonitor-jl-displays-usage-of-cpu-ram-and-optionally-gpu/125678) is a neat system resources monitor implemented in Julia. | ||
|
|
||
| Abstract Math ecosystem: | ||
|
|
||
| * [Matroids.jl](https://github.com/scheinerman/Matroids.jl) is a Julia library for working with matroids using rank functions, supporting fundamental operations and integration with the Julia Graphs ecosystem. | ||
| * [TensorAlgebra.jl](https://github.com/ITensor/TensorAlgebra.jl) implements tensor contraction and algebra utilities, including dimension splitting, factorization, and permutation handling. | ||
|
|
||
| Julia Autodiff ecosystem: | ||
|
|
||
| * [DiffMatic.jl](https://github.com/asterycs/DiffMatic.jl) Symbolic differentiation of vector/matrix/tensor expressions in Julia | ||
|
|
||
| Notes from other ecosystems: | ||
|
|
||
| * [The two factions of C++](https://herecomesthemoon.net/2024/11/two-factions-of-cpp/) | ||
| * [Why I'm writing a Scheme implementation in 2025: Async Rust](https://news.ycombinator.com/item?id=43083017) | ||
| * The [UltraScale Playbook](https://bsky.app/profile/thomwolf.bsky.social/post/3likeqqv3dk2y) (tutorials on parallel computing) | ||
|
|
||
| Soapboxes (blogs/talks): | ||
|
|
||
| * [Julia for R users](https://discourse.julialang.org/t/some-nice-advantages-of-learning-julia-for-the-r-programmers-a-small-article/125628?u=vituri) | ||
|
|
||
| See also: [French community newsletter](https://pnavaro.github.io/NouvellesJulia/), [community calendar](https://julialang.org/community/#events), [minutes of triage meetings](https://hackmd.io/@LilithHafner/HJaw__uMp) | ||
|
|
||
| You can engage in the discussion of this newsletter on [Discourse](https://discourse.julialang.org/c/community/news/66) | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.