Victorien Elvinger's Avatar

Victorien Elvinger

@conaclos.bsky.social

@biomejs founder & lead maintainer - @Inria R&D engineer - PhD in Computer Science. TypeScript & Rust ๐Ÿฆ€ programmer. Researcher in distributed systems ๐Ÿ•ธ๏ธ, embedded systems, #CRDT.

132 Followers  |  50 Following  |  23 Posts  |  Joined: 19.11.2024  |  1.8649

Latest posts by conaclos.bsky.social on Bluesky

You can also be interested in:

- alloc_instead_of_core
- default_numeric_fallback
- float_arithmetic
- format_collect
- inefficient_to_string
- large_include_file
- large_stack_arrays
- std_instead_of_alloc
std_instead_of_core
- struct_excessive_bools
- trivially_copy_pass_by_ref

04.09.2025 19:12 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Node excitement ๐Ÿ˜‰

Congrats to @marcoippolito.dev on today's landmark Node 22.18 release. It is the first LTS release to ship unflagged TypeScript support ๐ŸŽ‰

This means Node can run *.ts files. It pairs well with TypeScript's "erasableSyntaxOnly" flag ๐Ÿ‘

Many folk contributed ๐Ÿ™

01.08.2025 05:34 โ€” ๐Ÿ‘ 114    ๐Ÿ” 30    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yes, this is BARE's first announcement. I later helped improve its specifications and shape its current form.

26.06.2025 11:50 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
BARE Message Encoding

I was just wondering. Were you aware of baremessages.org when you started postcard?

26.06.2025 09:37 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yeah, I agree. Many libraries don't comply with `exactOptionalPropertyTypes`. I had to disable it because of this.

Also, I agree that `noUncheckedIndexedAccess` is really picky. I am unsure whether it is possible to easily write code that deals with arrays when this option is enabled.

07.06.2025 11:17 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
tsc --init update 2024 ยท Issue #58420 ยท microsoft/TypeScript Acknowledgement I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion. Comment Following up from #58417 Note: This is only for argum...

There are some rationales here in the relevant issue.

> these options are annoying to enable later, but straightforward to comply with in a greenfield situation. It'e best to start with them on and turn them off if you don't like them.

07.06.2025 11:00 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I think exposing types from dependencies to consumers breaks encapsulation. Of course, there are cases where it is acceptable. In general, though, it seems like poor practice to me.

29.05.2025 21:59 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I am a bit surprised by the number of NPM dependencies of tsdown (about 40). Because it builds on Rolldown, I was expecting many fewer. However, this is still an improvement on the unbuild, which had hundreds of dependencies.

23.05.2025 08:10 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

I watched three seasons. I might come back one day. The end of the third season was pretty tough.

08.05.2025 20:39 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
The Curse of Knowing How, or; Fixing Everything | BlogGitHubTwitterRSS FeedGit Branch A reflection on control, burnout, and the strange weight of technical fluency.

This curse led me to Biome.

06.05.2025 08:49 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Composite April 2025 'Composites' proposal For stage 1

It seems that the Records & Tuples proposal is withdrawn in favor of Composite Keys.

docs.google.com/presentation...

13.04.2025 19:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

It could be nice to see if codegen could be easier and quicker with Facet avoiding proc-macro and the like.

11.04.2025 12:47 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Do the use cases always use runtime reflection or do they generate code at compile time using the const data provided by Facet?

11.04.2025 12:15 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

It also allows you to write enum flags more easily: you can declare a composite flag that corresponds to the union of several flags.

05.04.2025 10:38 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

From an implementation point of view it is not totally true. Engines do many optimizations to use actual arrays. They even have dedicated optimizations for holey arrays (arrays with holes aka sparse arrays).

02.04.2025 21:06 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

They are good days because you realize that you still have so much to learn. This is the prerequisite for acquiring new knowledge :)

02.04.2025 20:59 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Adopting the FLS # Adopting the FLS Some years ago, Ferrous Systems assembled a description of Rust called the FLS1. They've since been faithfully maintaining and updating this document for new versions of Rust, and they've successfully used it to qualify toolchains based on Rust for use in safety-critical industries. Seeing this success, others have also begun to rely on the FLS for their own qualification efforts when building with Rust. The members of the Rust Project are passionate about shipping high quality tools that enable people to build reliable software at scale. Such software is exactly the kind needed by those in safety-critical industries, and consequently we've become increasingly interested in better understanding and serving the needs of these customers of our language and of our tools. It's in that light that we're pleased to announce that we'll be adopting the FLS into the Rust Project as part of our ongoing specification efforts. This adoption is being made possible by the gracious donation of the FLS by Ferrous Systems. We're grateful to them for the work they've done in assembling the FLS, in making it fit for qualification purposes, in promoting its use and the use of Rust generally in safety-critical industries, and now, for working with us to take the next step and to bring the FLS into the Project. With this adoption, we look forward to better integrating the FLS with the processes of the Project and to providing ongoing and increased assurances to all those who use Rust in safety-critical industries and, in particular, to those who use the FLS as part of their qualification efforts. This adoption and donation would not have been possible without the efforts of the Rust Foundation, and in particular of Joel Marcey, the Director of Technology at the Foundation, who has worked tirelessly to facilitate this on our behalf. We're grateful to him and to the Foundation for this support. The Foundation has published its own post about this adoption. ## I'm relying on the FLS today; what should I expect? We'll be bringing the FLS within the Project, so expect some URLs to change. We plan to release updates to the FLS in much the same way as they have been happening up until now. We're sensitive to the fact that big changes to this document can result in costs for those using it for qualification purposes, and we don't have any immediate plans for big changes here. ## What's this mean for the Rust Reference? The Reference is still the Reference. Adopting the FLS does not change the status of the Reference, and we plan to continue to improve and expand the Reference as we've been doing. We'll of course be looking for ways that the Reference can support the FLS, and that the FLS can support the Reference, and in the long term, we're hopeful we can find ways to bring these two documents closer together. 1. The FLS stood for the "Ferrocene Language Specification". The minimal fork of Rust that Ferrous Systems qualifies and ships to their customers is called "Ferrocene", hence the name. We'll be dropping the expansion and just calling it the FLS within the Project. โ†ฉ
26.03.2025 00:00 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

True. Note thta 21.x is no longer maintained.

22.03.2025 10:06 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Node.js โ€” Node v20.19.0 (LTS) Node.jsยฎ is a JavaScript runtime built on Chrome's V8 JavaScript engine.

For anyone wondering: `require(esm)` is enabled by default since Node.js 20.19.

19.03.2025 19:38 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
For many of us, it doesnโ€™t cost much to improve someoneโ€™s life, and we can do much more of it Most countries spend less than 1% of their national income on foreign aid; even small increases could make a big difference.

Spending a little on foreign aid makes a difference, and it also makes life better for us in the rich world, because a world with fewer epidemics and healthier people is one of the best insurances you can have.

15.03.2025 10:51 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
GitHub - nodejs/package-examples: Repository documenting package shipping patterns Repository documenting package shipping patterns . Contribute to nodejs/package-examples development by creating an account on GitHub.

For those wondering what a dual-package hazard is, take a look at

14.03.2025 20:29 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Bye bye CommonJS and dual-package hazard!

14.03.2025 20:27 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Typescript Just Got 10x Faster
YouTube video by Syntax Typescript Just Got 10x Faster

www.youtube.com/watch?v=ZlGz...

11.03.2025 15:14 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
A 10x Faster TypeScript - TypeScript Embarking on a native port of the existing TypeScript compiler and toolset to achieve a 10x performance speed-up.

The TypeScript team is porting the TypeScript compiler to Go. Expect a 10x speedup.

11.03.2025 15:13 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
How Self-Driving Cars will Destroy Cities (and what to do about it)
YouTube video by Not Just Bikes How Self-Driving Cars will Destroy Cities (and what to do about it)

Challenging the self-driving car utopia. #driverless #ai #car

19.11.2024 15:47 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@conaclos is following 20 prominent accounts