Loris Cro ⚡

6K posts

Loris Cro ⚡ banner
Loris Cro ⚡

Loris Cro ⚡

@croloris

VP of Community @ Zig Software Foundation • Zig Livecoding https://t.co/iJK2ZfBJIX • Creator of https://t.co/V2ZSAsvwea • Host of https://t.co/U9x5CnGyWB • 📧 [email protected]

Milan, Italy Katılım Haziran 2012
88 Takip Edilen8.4K Takipçiler
Loris Cro ⚡
Loris Cro ⚡@croloris·
well it's been fun rolling in the mud, I'm logging off to do actually relevant stuff, see you all next drama
English
2
0
31
2.8K
Loris Cro ⚡ retweetledi
Joran Dirk Greef
Joran Dirk Greef@jorandirkgreef·
People often get this wrong: But per systems thinking, correctness is not a { language, static allocation, testing, etc. } problem. Correctness is a design problem.
Joran Dirk Greef@jorandirkgreef

We’ve had on the order of 3 memory bugs in 6 years of TigerBeetle. None RCEs. On the other hand, our own simulators have proactively found hundreds of (devastatingly catastrophic) distributed systems correctness bugs per year. Given how hard TigerBeetle’s domain is, in terms of mission critical financial transaction processing, I’ve never for one minute believed that writing TB in a memory safe language such as say TypeScript would somehow magically (!) make any material impact compared to the 100x correctness multiplier of TigerStyle. That’s because—rather than fall for the fallacy of composition, i.e. to see distributed correctness as a language problem—TigerStyle instead takes ultimate responsibility for the “end to end” correctness of the distributed system as a whole. Per systems engineering, correctness is always a systems design problem. For example, how to build a reliable whole, (especially) out of unreliable parts, such as broken firmware, bitrot, programmer error etc. In other words, application of the end to end principle. But when you TigerStyle the design in this way, the world of systems engineering also completely opens up to you and changes how you evaluate systems languages (now things like “power to grammar ratio”, or explicitness, checked arithmetic and precision become more critical and valuable to you). Of course, it is harder to care about correctness, to take responsibility for correctness end to end. Yes, you’re forced to begin to worry about the more serious concerns, starting with the basics of static allocation, explicit limits, assertions, deterministic simulation testing and moving to more advanced topics like protocol-awareness and storage fault-tolerance. But then again, TigerStyle is such a force multiplier, that you achieve mission critical quality, and in less time and with greater velocity. If you’re tired of production issues, and if you want to “engineer your engineering”, I would encourage you to lift up your thinking to the level of systems design and end to end correctness. Start thinking about your methodology and begin embracing TigerStyle. tigerstyle.dev

English
9
11
211
23.4K
Loris Cro ⚡ retweetledi
Mitchell Hashimoto
Mitchell Hashimoto@mitchellh·
Fork your dependencies, trim them to only your use case, never update unless it breaks for your users. I’ve been vocal about this for 10+ years. I’ve always said that updating is way riskier than latent bugs (which can be tracked and CVEs monitored). If you are updating a dependency, it’s on you to analyze every single commit in the full transitive set of dependencies. If you dont see anything compelling, dont update! I remember at HashiCorp once in awhile an engineer would try to update a dep or replace a DIY lib with an external one and id always ask “show me the commit we need.” Dont update for the sake of it. Feeling pretty swell about this mentality with all the supply chain attacks happening.
English
290
777
8.9K
1.2M
Loris Cro ⚡
Loris Cro ⚡@croloris·
that blog post is taking a while to come out, I guess some things still require some good hammering to be made look good enough :^)
English
7
3
141
7.1K
Loris Cro ⚡ retweetledi
Joran Dirk Greef
Joran Dirk Greef@jorandirkgreef·
Which loop is more likely to 10x your team’s design/code/test/debug/release/maintenance velocity, but also with mission critical quality, faster performance, more beautiful code, deeper understanding as a 2nd order effect, and lower total cost of ownership?
English
8
6
53
7.2K
Loris Cro ⚡
Loris Cro ⚡@croloris·
@_annieversary absolutely! usually at zig days that I attend we do an intro to zig in the morning for people who are interested
English
1
0
3
74
annie
annie@_annieversary·
@croloris are zig beginners welcome too? ill be in boston around that time and id love to go, but i haven't had much time to play with zig yet
English
1
0
0
68
Loris Cro ⚡
Loris Cro ⚡@croloris·
Systems Distributed '26 is getting closer and so is the Zig Day Boston scheduled for the day before (completely free, NO conference ticket required). Come practice your systems thinking and make software you can love with us! RSVP: luma.com/eloljzc0
English
4
12
88
5.5K
Loris Cro ⚡
Loris Cro ⚡@croloris·
@bcardarella gh issues are still valid, they get ported to codeberg as needed, so don't worry the plan hasn't changed
English
1
0
2
418
Loris Cro ⚡
Loris Cro ⚡@croloris·
@renerocksai @Claude funny thing, node could just lift from Bun the part of the codebase that implements the node API :^) slop for slop might as well, at least they would save some tokens
English
0
0
2
685
renerocksai⚡
renerocksai⚡@renerocksai·
@croloris Now that bun is rust, would be a great time to vibe-code node to zig to fill the void! @Claude: Port it. Make no mistakes. Stop and tell when 98% tests pass!
English
2
0
5
1.1K
Loris Cro ⚡
Loris Cro ⚡@croloris·
I sincerely hope that Node does not plan to vibe-port its entire codebase, regardless of the target language. Node is the only truly open source runtime for JS and I hope that its maintainers will prioritize stability and responsible stewardship of the project, ideally protecting their own version of contributor poker (i.e. guaranteeing that contributors can grow into future maintainers), none of which is helped by vibe-porting the entire codebase in one commit.
Matteo Collina@matteocollina

Bun rewrote itself from Zig to Rust. AI did most of the work. 98% of the test suite passed on the first run. The question isn't hypothetical anymore. Should we rewrite Node.js in Rust?

English
10
5
135
17.1K
Loris Cro ⚡
Loris Cro ⚡@croloris·
That's an apples and oranges comparison, do it with Bun and Node. Node has many open source contributors, a core team, a non profit foundation, and probably enough money to keep going for as long as they're relevant. Bun only has one of these things. Would you really trust Bun more than Node because they got money?
English
1
0
0
105
kimono
kimono@arr_ohh_bee·
@croloris @tiptenbrink This is pretty nutty from a dollars and cents perspective. If the Q is who is better capitalized for the long haul, Anthropic or the Zig Foundation, I don't know many investors/lenders who would rather bet on the Zig Foundation.
English
2
0
0
334
Loris Cro ⚡
Loris Cro ⚡@croloris·
@tiptenbrink yes, not subject to running out of money and having to enshittify / sellout / rugpull the userbase, which is inevitable from VC-funded businesses that don't have a valid business model (which has to both keep the business afloat and provide the promised return to the VC).
English
1
0
16
1K
Tip ten Brink
Tip ten Brink@tiptenbrink·
@croloris What do you mean with truly open source? Not VC-backed?
English
1
0
2
1.1K
Loris Cro ⚡
Loris Cro ⚡@croloris·
The Zig build system is perfectly capable of linking against prebuilt artifacts. "compile from source every time" is a made up idea that maybe works in your circles but that makes no sense in the real world. It's in fact much more common to link against prebuilt system libraries on Linux, than to build everything from source (there's a limited number of distros that do it, and they're famous for being niche options aimed at Linux enthusiasts). On the other hand, without a build system, if you want to fake the convenience of having one, you have to bundle arch X os artifacts... or you can act like x64 Windows is the only target that matters and only upload a single .lib file, like here: github.com/odin-lang/Odin… but that detracts a bit from the general-purposeness of the language, doesn't it? In github.com/allyourcodebase, Zig packages always offer the ability to build from source because it's what gives users the maximum amount of flexibility, as it lets them take advantage of target specific features such as optional instruction set support. And also because it's unfeasible to upload the whole matrix of prebuilt executables that matches all the targets that we intend to support seriously.
English
2
0
3
709
Christoffer Lernö
Christoffer Lernö@nuoji·
@croloris @c_lerno @oxcrowx Binaries are great. The whole "let's compile from source every time" didn't get traction until Linux, due to that being pretty much the only way to get it working on Linux. But guess what? It's not a virtue, it's cope.
English
2
0
5
380
oxcrow
oxcrow@oxcrowx·
Why is Odin keeping binaries and libraries in their repo? One of them is 55 MiB in size. Many others exist.
oxcrow tweet media
English
17
2
88
58.4K
Loris Cro ⚡
Loris Cro ⚡@croloris·
Sorry that proposal was already rejected. On one hand I share the sentiment, sometimes it would be convenient, but on the other I've started to find it annoying to see in other languages function definitions nested in function bodies for no good reason other than cursor placement convenience. You still have the `struct{ fn foo() {} }.foo` escape hatch. It's not elegant, but I prefer it over the above.
English
0
0
1
120
kv
kv@kapv89·
@croloris Lexically scoped anonymous functions please.
English
1
0
0
430
Loris Cro ⚡
Loris Cro ⚡@croloris·
Yeah, luckily it's impossible for Anthropic to buy the Zig Software Foundation. Some things in life money alone just can't buy, like a functioning codebase that you understand, and a trust relationship with your users :^)
mroczekdev@mroczekdev

@samlambert You would need Zig to be acquired by Anthropic. The things Bun they did in their codebase are also possible, becuse Bun is owned by Anthropic and they could go programmatically into files. You don’t believe it, but @theo made video about it

English
13
24
397
28.5K
Loris Cro ⚡
Loris Cro ⚡@croloris·
There were some positives for sure and yes bun did donate to the ZSF, which is appreciated, but the visibility was mostly superficial. The majority of people that discovered Zig through Bun were web devs who quickly became disinterested because Zig is not yet mature enough to offer a comfortable webdev experience. On top of that Bun has also had a variety of other influences on the community (eg by hiring from it), not all of which were positives (but that's some dirty laundry I'm not going to air on twitter). Of course going forward more companies will use Zig and do whatever with it, but Zig is still small enough that these things do make a difference.
English
1
0
0
144
merlin
merlin@merlinaudio_·
but you'll have this issue as long as zig is getting more ubiquitous. there will be more programs written in zig, and thus there will be more zig programs with bugs (that lead to finger-pointing). until zig becomes a mainstream language, at least. i would not have been particularly interested in zig if it wasn't for bun, simply because i wouldn't have heard as much about it. at least from my POV, bun has been a massive boon to the success of zig. not to mention that they offered contributions and donated quite a bit of money. it saddens me to see that you're essentially wishing for all that to not have happened
English
1
0
0
111
Loris Cro ⚡
Loris Cro ⚡@croloris·
I wonder if GPT5.5 would have done a better job at translating Bun. Now Bun not only has a hard dependency on token expenditure to be maintained, but it's also locked into one model brand, while the competition can choose whichever model happens to be the best at the time.
English
14
3
94
9K
Loris Cro ⚡
Loris Cro ⚡@croloris·
@mikkurogue I can't think of any. The whole idea seems incompatible with what we're doing.
English
0
0
4
140
mikku
mikku@mikkurogue·
@croloris Would there even be anyone who you guys would be willing to work with that acquires Zig? Like on the same ideals and wavelength etc Out of the plethora of companies and foundations zig is the most unique and probably most outspoken and relatable
English
1
0
2
1.2K
Loris Cro ⚡
Loris Cro ⚡@croloris·
@dduxAdventure in the past devs would also be worried that by not having a big tech patron Zig would never go anywhere, but that's the shallow part of trust, once you break that barrier, it doesn't matter anymore no idea if/how that applies outside of programming languages
English
1
0
5
210
Dusan
Dusan@dduxAdventure·
@croloris maybe with devs, but I've had deals stall with enterprise customers because I hadn't taken on VC money... some companies equate money with trust...
English
2
0
1
587
Loris Cro ⚡
Loris Cro ⚡@croloris·
@antirez read the blog post salvatore, this whole point is irrelevant
English
1
0
12
1.3K
antirez
antirez@antirez·
@croloris AI assisted contributions are not all the same. There are AI coded stuff that are better than what the programmer could have done otherwise and there is complete AI trash. Flattening this complex reality I believe is not sustainable in the long run by any project.
English
5
5
108
6.2K
Loris Cro ⚡
Loris Cro ⚡@croloris·
The Zig compiler project rejects AI contributions for very concrete reasons. - The contributor pipeline is a core aspect of our business model and produces value FAR BEYOND the code. Breaking it is an existential threat to Zig. kristoff.it/blog/contribut… - For some projects it's a problem to rely on vibecoded infrastructure. Some have learned this the hard way with Bun recently. Zig is general purpose programming language for building critical infrastructure and we want to give maximum freedom to our users. See quoted message.
Joran Dirk Greef@jorandirkgreef

I wrote these words 7 months ago. I am more grateful today for Andrew's leadership of the ZSF, that the foundations of TigerBeetle, our compiler, should not be vibed out beneath us. Standing up to “trillion dollar” big corp… Zig is hard core quality. tigerbeetle.com/blog/2025-10-2…

English
27
40
496
97.9K