Readit News logoReadit News
Manishearth commented on Temporal: The 9-year journey to fix time in JavaScript   bloomberg.github.io/js-bl... · Posted by u/robpalmer
frde_me · 2 days ago
So it's intentional to make people pass down raw strings versus making the communication safe(er) by default?
Manishearth · 2 days ago
.... we're talking about serialization here. "convert to a raw string" is sort of the name of the game.

It's a string in a well specified string format. That's typically what you want for serialization.

Temporal is typed; but its serialization helpers aren't, because there's no single way to talk about types across serialization. That's functionality a serialization library may choose to provide, but can't really be designed into the language.

Manishearth commented on Garbage collection for Rust: The finalizer frontier   soft-dev.org/pubs/html/hu... · Posted by u/ltratt
zorgmonkey · 5 months ago
This is a very important point, careful use of GCs for a special subset of allocations that say have tricky lifetimes for some reason and aren't performance critical could have a much smaller impact on overall application performance than people might otherwise expect.
Manishearth · 5 months ago
Yeah, and it's even better if you have a GC where you can control when the collection phase happens.

E.g. in a game you can force collection to run between frames, potentially even picking which frames it runs on based on how much time you have. I don't know if that's a good strategy, but it's an example of the type of thing you can do.

Manishearth commented on Garbage collection for Rust: The finalizer frontier   soft-dev.org/pubs/html/hu... · Posted by u/ltratt
king_terry · 5 months ago
The whole point of Rust is to not have a garbage collector while not worrying about memory leaks, though.
Manishearth · 5 months ago
Worth highlighting: library-level GC would not be convenient enough to use pervasively in Rust anyway. library-level GC does not replace Rust's "point".

It's useful to have when you have complex graph structures. Or when implementing language runtimes. I've written a bit about these types of use cases in https://manishearth.github.io/blog/2021/04/05/a-tour-of-safe...

And there's a huge benefit in being able to narrowly use a GC. GCs can be useful in gamedev, but it's a terrible tradeoff to need to use a GC'd language to get them, because then everything is GCd. library-level GC lets you GC the handful of things that need to be GCd, while the bulk of your program uses normal, efficient memory management.

Manishearth commented on Temporal_rs is here! The datetime library powering Temporal in Boa and V8   boajs.dev/blog/2025/09/24... · Posted by u/jayflux
nekevss · 6 months ago
We could do a WASM FFI target. I have thought about it lol

My only concern is that temporal_rs packages it's own time zone data, which may make the WASM package a little heavy, so I've been inclined to leave the polyfill up to fullcalendar's implementation.

Manishearth · 6 months ago
Diplomat has a wasm backend so it would even be really easy to produce a WASM ffi target with idiomatic JS and TS bindings.

Also, Diplomat supports traits and callbacks so you could actually make the timezone impl pluggable. Though we don't currently have JS support for that.

But also tz info isn't that big I think...

Manishearth commented on Memory Safe Languages in Android 13   security.googleblog.com/2... · Posted by u/brundolf
goodpoint · 3 years ago
Not only that, they are also comparing new code with pretty old code.
Manishearth · 3 years ago
They're also explicitly tracking new code by language, and talking about memory safety vulnerabilities per year, and they also link to [1] which talks about how most memory safety bugs they get are in new code.

Most of the graphs here are about new code.

[1]: https://security.googleblog.com/2021/04/rust-in-android-plat...

Manishearth commented on Memory Safe Languages in Android 13   security.googleblog.com/2... · Posted by u/brundolf
heather45879 · 3 years ago
The problem with Rust is the language syntax is ugly. It has a ton of visual noise.

I think folks who write languages should have a typographer on their team because something like this:

use std::collections::HashMap

Is a typographic nightmare. While I understand “form follows function”, it’s tough to be excited to program in something like this.

Manishearth · 3 years ago
I always say that if the strongest complaint people have about your language is syntax; you've already succeeded.
Manishearth commented on So Zero It's Negative? (Zero-Copy #3)   manishearth.github.io/blo... · Posted by u/notriddle
sdwr · 4 years ago
Thanks for replying!

If I understand correctly, GATs are about being able to change compiler assumptions about data types in user code? Generics acting on the compiler?

How is that helpful? Is it that you're trying to skip all the language boilerplate around creating objects? Are there any risks/footguns to that approach?

Generic type-driven code makes my head hurt, let me know if I'm somewhat close

Manishearth · 4 years ago
I don't understand your question.

GATs allow traits to abstract over associated types that are themselves to some degree abstract. In this case, it's necessary to do the relevant trait machinery around lifetime transformation since we need to be able to talk about "a replaceable lifetime of a type" in a generic way.

Manishearth commented on So Zero It's Negative? (Zero-Copy #3)   manishearth.github.io/blo... · Posted by u/notriddle
sdwr · 4 years ago
Looks like a useful tool for the toolbox, although the class names in pt2 can go die in a pit. Do you know of anything similar on the JS side?

What are the compiler bugs you ran into? I'm no compiler expert, but my suspicion is that they were more feature requests than anything else, considering you're working in a "here be dragons" area of the map.

Manishearth · 4 years ago
(the person who posted the article here isn't the author (me))

The bugs in part 1 all around using higher ranked trait bounds. I'd disagree with the characterization that they're "feature requests": five years ago, yes, I would agree, but this entire area of the compiler needs to be bug-free for an upcoming feature (GATs) anyway, and indeed, the issues I found were often fixed by people working on fixing related GAT bugs. Ultimately, my use of higher ranked trait bounds is an attempt to emulate some of what GATs get you in stable Rust, so it's not surprising that the bugs are in the same area of the code.

Manishearth commented on Things I wish someone told me about getting a promotion   radhika.dev/mid/... · Posted by u/_ttg
hansor · 5 years ago
>You will never get a promotion or raise if there's no formal performance review process and career ladder.

That is total BS. I had promotion multiple times just because business owner liked me and valued my work.

>You have to be performing at the next level for several months

Total BS too. Maybe in India.

> VISIBILITY

This one is not BS! I have seen many many developers without any rise - just because they do not attend any meetings, they look like bumps(no suits!), and those who do not talk much with their own boss or boss above...

When I manage to do something BIG - i make sure that my boss, his boss, and boss above KNOWS that we tried hard and delivered. It's not a shame to brag about real accomplishments :)

In that way I received 32% pay-rise in past 2 years.

Manishearth · 5 years ago
> Total BS too. Maybe in India.

This has been the case at both my current and previous (American tech) jobs.

And it's pretty racist to assume that a person is working or has worked in India just because they have an Indian name.

Manishearth commented on Why AWS loves Rust, and how we’d like to help   aws.amazon.com/blogs/open... · Posted by u/carllerche
nicoburns · 5 years ago
Sure, but from my perspective (you probably had better insight into these companies involvement than me) there was always a question about how committed companies this large really are when they only have a few projects in the language. Hiring core developers puts all doubts to bed (and also the kind of investment that actually for counts for something).
Manishearth · 5 years ago
I think most of these companies have had a pretty large investment, they're just not really open about it in many cases. So yeah, it's a pretty visible signal, but the investments they had already were much larger ones. A team of core developers is a pretty small investment compared to having a ton of teams all over the place, which most of them had already.

u/Manishearth

KarmaCake day9696January 21, 2013
About
Rust Core Team, ex-Servo at Mozilla

https://manishearth.github.io

View Original