Chris Rackauckas
stochasticlifestyle.com · Personal blog · on HN since 2016
Chris Rackauckas, a computational scientist and Julia developer, writes about Julia, scientific machine learning, differential equations, and numerical computing.
What HN saysHN commenters cite his posts on ChatGPT's Julia code quality and on chaos in AI for science, and recommend the blog generally.
39HN people shared it
24linked it in comments
54stories submitted
1.9Kstory points
5 months agolast shared
2016people per year2026
Most-shared posts
- 1ChatGPT performs better on Julia than Python (and R) for LLM Code Generation6 people · 7 points · first shared 2023 · discussion on HN
- 2Type-Dispatch Design: Post Object-Oriented Programming for Julia (2017)5 people · 5 points · first shared 2020 · discussion on HN
- 3Homepage5 people · first shared 2019
- 4Why Numba and Cython are not substitutes for Julia4 people · 42 points · first shared 2018 · 5 comments on HN
- 5How chaotic is chaos? How some AI for Science / SciML overstates accuracy claims4 people · 7 points · first shared 2025 · discussion on HN
- 6Useful algorithms that are not optimized by Jax, PyTorch, or TensorFlow3 people · 214 points · first shared 2021 · 28 comments on HN
- 77 Julia Gotchas and How to Handle Them3 people · 39 points · first shared 2016 · 1 comments on HN
- 8GPU-accelerated ODE solving in R with Julia3 people · 15 points · first shared 2020 · 1 comments on HN
- 9Some Insights from a Julia Developer2 people · 262 points · first shared 2017 · 236 comments on HN
- 10Trade-Offs in Automatic Differentiation: TensorFlow, PyTorch, Jax, and Julia2 people · 234 points · first shared 2021 · 73 comments on HN
- 11The Essential Tools of Scientific Machine Learning2 people · 161 points · first shared 2019 · 19 comments on HN
- 12A Comparison of Differential Equation Solver Suites2 people · 150 points · first shared 2017 · 39 comments on HN
- 13A guide to Gen AI / LLM vibecoding for expert programmers2 people · 128 points · first shared 2025 · 117 comments on HN
- 14Implicit ODE solvers are not universally more robust than explicit ODE solvers2 people · 116 points · first shared 2025 · 40 comments on HN
- 15Algorithm efficiency comes from problem information2 people · 109 points · first shared 2018 · 28 comments on HN
What HN people wrote when they linked it
mrocklin · 2026-01-10
Original author of the post here. Just to give credit where it's due, that was a quote from this other excellent article written by someone else:
https://www.stochasticlifestyle.com/a-guide-to-gen-ai-llm-vibecoding-f…
sbrorson · 2025-11-19
An interesting corollary to this is that even if the future trajectory of a general 3-body orbit is predictable in theory using numerical methods (and infinite precision calculations), in practice the use of finite-precision floating point means that after some time the trajectory predicted by an ODE solver will diverge from the mathematically-true trajectory. Even symplectic integrators have this problem. More details on the general case of chaos are provided by this insightful blog post:
https://www.stochasticlifestyle.com/how-chaotic-is-chaos-how-some-ai-f…
minetest2048 · 2024-07-30
There is a paper that claims that Julia performs the best in ChatGPT: https://arxiv.org/abs/2308.04477
Chris blog on that: https://www.stochasticlifestyle.com/chatgpt-performs-better-on-julia-t…
markkitti · 2023-12-27
Apparently ChatGPT does pretty well with Julia. https://www.stochasticlifestyle.com/chatgpt-performs-better-on-julia-t…
It does take some asking around to discover the optimal Julia workflow with Revise.jl, PkgTemplates.jl, VSCode settings/debugger, Pluto.jl, but now it's probably my best development experience. Julia 1.10 improves much of this as well.
Pr0ject217 · 2022-02-07
EDIT:
Paste this hacky snippet into your browser's console to save all of the links into your clipboard:
(() =>
{
let result = [...document.querySelectorAll('td a')]
.map((link) =>
link &&
!link.href.includes('ycombinator') &&
!link.href.includes('javascript:void')
? link.href
: ''
)
.filter(Boolean);
result = [...new Set(result)];
result.sort();
copy(result.join('\n\n'));
})();
Just to help, here's a compiled-list of all of the links shared here so…
tndoan · 2022-02-07
https://www.stochasticlifestyle.com/
Blog of Dr. Christopher Rackauckas. The blog is a mixture of programming, Julialang, ML, computational scientific. I really enjoy
cs702 · 2021-11-26
Take a look at the blog of Chris Rackauckas, a big proponent of such hybrid modeling, who uses the term "scientific machine learning" to refer to the notion: http://www.stochasticlifestyle.com
For example, see http://www.stochasticlifestyle.com/the-use-and-practice-of-scientific-…
ChrisRackauckas · 2021-03-11
Modia.jl is great! Though note that there are other M&S DAE libraries in Julia which stray from the Modelica DSL syntax. For example, ModelingToolkit.jl can do it directly by modifying Julia code:
https://www.stochasticlifestyle.com/generalizing-automatic-differentia…
or it can work via a component-based modeling DSL:
https://mtk.sciml.ai/dev/tutorials/acausal_components/
lambdatronics · 2020-06-18
If I were to do that, I'd use Julia for it. This is a great post about why it's important to have specialized programs -- you can make simplifying assumptions that speed up computation. Multiple-dispatch in Julia allows to hide the complexity under a uniform front-end.
http://www.stochasticlifestyle.com/algorithm-efficiency-comes-problem-…
eigenspace · 2018-04-30
Theres a good (if slightly out of date) comparison between the features for ODE solving, putting DifferentialEquations.jl against the suites commonly used in other langauges: http://www.stochasticlifestyle.com/comparison-differential-equation-so… (linked in the blog as well)
Worth checking out.
________________________________________________
Edit: Nevermind, its not out of date
simondanisch · 2019-01-11
Yeah, I'm just trying to point out, that not much would be won by that.
You either need to change the semantic of the language (CPython) or live with a slow JIT for some of the most used features of the language... And changing the semantic of the language is pretty terrible - it fragments your libraries introduces unbreakable borders prohibiting cross package optimizations and extensability, and much worse, CPython is now basically a language that combines the bad stuff of python and C ;) I know, that's a bit too cynical, but coming from a well designed language for JIT (Julia), that's how CPython starts looking to me. You will simply never reach the elegance of a language that was designed from scratch for this.
What I want to point out is, that the whole topic is bigger than "JIT my one slow function and make it fast"! A good read about this topic is:
http://www.stochasticlifestyle.com/why-numba-and-cython-are-not-substi…
Certhas · 2018-08-08
Where I am people are really pushing out of the MATLAB/Python world into Julia. It's tailor made for scientific computing in a way that none of the others are.
Clearly we're talking decades, but I am already realizing pay-offs from the switch to Julia (from Python) in my domain.
Rackauckas pointed out an amazing example recently [1]:
https://discourse.julialang.org/t/differentialequations-jl-and-measure…
You have a library that implements calculating with numbers with uncertainties. You have the differential equations library. They don't know about each other but you can use the former in the latter to solve differential equations with uncertainties with a whole bunch of advanced solving algorithms.
This sort of power, having an ecosystem like Python that combines in a performant way, will be huge.
[1] http://www.stochasticlifestyle.com/why-numba-and-cython-are-not-substi…
SatvikBeri · 2026-01-05
I usually use one instance, sometimes two. But this is a reasonable account of Chris Rackaukas using 32 instances at a time to do boilerplate maintenance across a bunch of open source repositories: https://www.stochasticlifestyle.com/claude-code-in-scientific-computin…
> I have had to spend like 4am-10am every morning Sunday through Saturday for the last 10 years on this stuff before the day gets started just to keep up on the “simple stuff” for the hundreds of repos I maintain. And this neverending chunk of “meh” stuff is exactly what it seems fit to do. So now I just let the 32 bots run wild on it and get straight to the real work, and it’s a gamechanger.
bobmarleybiceps · 2025-09-18
Actually I just happened to see this: https://www.stochasticlifestyle.com/how-chaotic-is-chaos-how-some-ai-f… It's basically explaining the same thing, but much better than me :-)
thetwentyone · 2025-06-02
The author posits that people don't like using LLMs with Rust because LLMs aren't good with Rust. Then people would migrate towards languages that do will with LLMs. However, if that were true, then Julia would be more popular since LLMs do very well with it: https://www.stochasticlifestyle.com/chatgpt-performs-better-on-julia-t…
moelf · 2024-07-30
More fragmented, calling-some-api based python code actually causes LLM to hallucinate and mix libraries more: https://www.stochasticlifestyle.com/chatgpt-performs-better-on-julia-t…
richrichie · 2024-07-12
Chris has done good work on this genre. His differential equations Julia package with support for physics or sci ML is pretty cool.
https://www.stochasticlifestyle.com/the-essential-tools-of-scientific-…
baggiponte · 2022-01-12
That’s terribly interesting, given that this popped up too very recently: https://www.stochasticlifestyle.com/engineering-trade-offs-in-automati…
However, while they speak of ML they refer only to deep learning, and I was wondering where Julia stands in terms of scikit-learn equivalents and if they ever took off.
adgjlsfhk1 · 2021-12-14
This isn't quite true. Jax works well for "quasistatic" code, but can't handle more dynamic types of problems (see https://www.stochasticlifestyle.com/useful-algorithms-that-are-not-opt… for a more detailed explanation).
Jax is definitely the right direction for the python ecosystem, but it can't solve all your problems. At some point you still need a fast language.
otde · 2021-11-10
Speaking as someone who started in Java and moved to Julia, my experience has been that a lack of concrete subtyping has generally not made an impact on difficulty with respect to problem modeling (at least, not relative to Java or other languages with concrete subtyping). Moreover, some of the emergent properties of Julia’s type system (the “Tim Holy Trait Trick,” etc) enable problem modeling in different — and perhaps more “Julian” — ways, modeling by behavior rather than structure.
That said, if you absolutely need concrete subtyping in Julia, you can emulate it for structure with the tricks described in this (old but gold) Chris Rackauckas blog post: https://www.stochasticlifestyle.com/type-dispatch-design-post-object-o…
amkkma · 2021-09-12
That's because it's keeping things fairly simple. Implementing the more involved/advanced techniques would quickly outpace what's possible in python, now and for the foreseeable future
(see https://www.stochasticlifestyle.com/useful-algorithms-that-are-not-opt… but also other reasons such as composability )
xiaodai · 2019-01-24
leephillips · 2021-12-27
That's a good one. But there are so many I don't know which ones to send you. Any particular interests? Even on Google, if you search for specific keywords you will find such sites, maybe after the first few pages. I maintain my own site with no advertising or tracking, and no intrusive javascript, but I don't know if it would interest you.
Here are a few random selections from my RSS collection:
• https://www.justuseemail.com/
• https://apenwarr.ca/log/
• http://www.stochasticlifestyle.com
• https://jvns.ca
• https://www.math.columbia.edu/~woit/wordpress/
• https://www.futilitycloset.com
• https://retractionwatch.com
• http://vihart.com
• https://www.ex-muslim.org.uk
• https://tug.org
• https://lwn.net
• https://prometheus.med.utah.edu/~bwjones/
None of these have cookie warnings, doorslams, or other annoyances. I have a over a hundred of these. There is more out there than you could possibly keep up with, even with RSS.
ssivark · 2018-03-07
You make a very good point. As PG says explains in [1], in a regime dominated by tail events, if most attempts are a moderate success (and no black swan successes), then the portfolio was probably too conservative.
On the other hand, due to limited resources, I get the feeling that most academics are operating in the risk-averse mode. See, for eg [2] -- it seems to be solid advice for succeeding in academia (I'd like to hear counterpoints to that from people who've had an extended/successful academic career), but it seems wholly focused on small predictable improvements.
I wonder whether this problem is a consequence of enforcing "accountability" in a regime dominated by fat tails.
Maybe we've picked up all the low-hanging fruit in research and we can only hope for slow incremental progress (which is what the management structure is set up to optimize), and we need to come to terms with that and stop wistful discussions about not having black swan successes.
[1]: http://paulgraham.com/swan.html
[2]: http://www.stochasticlifestyle.com/tips-google-summer-code-application…