Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
demurgos
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
demurgos
2y ago
Cross-building for Apple is possible, but it's far from smooth with many steps that you have to figure out by yourself unfortunately.
32.
▲
by
demurgos
2y ago
TypeScript compiles to JavaScript. It means both `tsc` and the TS program can share the same platform today. With a TSC in Go, it's no longer true. Previously you only had to figure out how to run JS, now you have to figure out both ho
33.
▲
by
demurgos
2y ago
Very nice article. I agree with the theses and the resulting design makes sense. Regarding context handling, one issue that I struggle with is where the context should be attached: by the caller or callee? In particular, in the context of i
34.
▲
by
demurgos
2y ago
Great reply and it mirrors some of my reflections. For Rust errors, I consider defining a single error enum for the crate or module to be an anti-pattern, even if it's common. The reason is because of what you described: the variants n
35.
▲
by
demurgos
2y ago
What is the issue with TOML maps and sequences compared to YAML? My main gripe was that inline tables had to be single line, but the restriction is lifted in TOML 1.1.0.
36.
▲
by
demurgos
2y ago
The solution that you propose is a great relatively-lightweight solution for enums compatible with `erasableSyntaxOnly`. I see also other comments discussing other solutions which are worth comparing. From my side, I wanted to keep nominal
37.
▲
by
demurgos
2y ago
I assume that they mean that you can use Rust as a language without its standard library. This matters here since the Kernel does not use Rust's standard library as far as I know (only the core module). I'm not aware of semver bre
38.
▲
by
demurgos
2y ago
Rust's panics are recoverable, so they're more like exceptions. This means that you may need to care about "unwind" safety and values in a potentially invalid state. It's the main reason for mutex poisoning and havi
39.
▲
by
demurgos
2y ago
If you clone the environment at startup, then you get a situation where code in the same binary can see different values depending if it uses libc or Rust's std. It's also no longer the same environment as in the process metadata.
40.
▲
by
demurgos
2y ago
It can't ensure synchronization because any code using libc could bypass the sync wrapper. In particular, Rust lets you link C libs which wouldn't use the Rust stdlib.
41.
▲
by
demurgos
2y ago
> You can't really accidentally cause memory leaks without being made aware that your code may leak by the compiler and/or docs. It's true if you stick to the standard library, but I assume that the Cosmic frameworks adds
42.
▲
by
demurgos
2y ago
I haven't finished listening yet; but it should be made clear that Rust claimed to prevent double frees and use-after-free errors but never claimed to prevent memory leaks. Memory leaks were actually decided to be fully safe just befor
43.
▲
by
demurgos
2y ago
Really? I know that SQL is old but I would have expected `null` to refer to pointers at first. Going by Wikipedia, I see that SQL is from 1974 and C from 1972. Were there earlier uses/drafts where `null` is "unknown" instead
44.
▲
by
demurgos
2y ago
Just to clarify, I'm not advocating to introduce a new `unknown` keyword. I'm saying that the existing `null` in SQL was not named properly and that the name `unknown` would have been more fitting. SQL's `null` already has th
45.
▲
by
demurgos
2y ago
The main pain point for smaller apps is that every major Postgres version requires an explicit migration of the underlying data representation. I get why it's there, but for simpler apps I would appreciate a flag to do it transparently
46.
▲
by
demurgos
2y ago
> select null = null; returns NULL, because each NULL is basically a placeholder representing any “unknown value”. Two unknown values are not necessarily the same value; we can’t say that they are equal, because we don’t know the value o
47.
▲
by
demurgos
2y ago
> that has no hope of replacing Gecko before it reaches 100% compatibility with a spec thousands (tens of thousands?) of lines long When Servo was still managed by Mozilla, they were able to merge some components incrementally into the F
48.
▲
by
demurgos
2y ago
I don't want it this way: it mixes a data model concern (timestamps) with a ui concern (calendars). As other have said, it would be much better if we used TAI and handled leap seconds at the same level as timezones.
49.
▲
by
demurgos
2y ago
Dependent types can make type constructors generic over _values_ (instead of only types). Refinement types keep the separation between types and values, but they let you wrap an existing type to enforce extra constraints or semantics. Anoth
50.
▲
by
demurgos
2y ago
Yes, it's the standard way if you want implicit compat with the base type, so you can pass a value of type `A` to a function expecting a `string`. An other name for this pattern is "branded types".
51.
▲
by
demurgos
2y ago
ESM is the closest to a major version for JS. It forces strict mode, which includes many non-backwards compatible changes [0]. Most notably, it removes the `with` statement. Other examples of removals are octal literals or assignments to un
52.
▲
by
demurgos
2y ago
Thanks, I was a bit worried that maybe the initial comment was not a good fit. I've read the article, but had more to say about OpenTelemetry rather than Grafana. We use Grafana at work, with their Tempo product for trace analysis. We
53.
▲
by
demurgos
2y ago
Why are you accusing me of posting an LLM reply?! I just shared that I enjoyed using and contributing to OpenTelemetry. I never used an LLM. Do I really need to prove that I'm human? - a couple PRs I posted to the Rust impl: https:&#x
54.
▲
by
demurgos
2y ago
OpenTelemetry is nice overall as there are library for multiple platforms. I introduced it this year for a web game platform with servers in Node, Java, PHP and Rust and it all worked roughly similarly which made it good for consistency. I
55.
▲
by
demurgos
2y ago
The problem are timing attacks leaking the navigation history. An attacker can load a lib shared with some other site. Based on the load time he may then learn if the user visited the target site recently.
56.
▲
by
demurgos
2y ago
People may disagree on specifics, but you're definitely right that being able to separate the function signature from its definition would be very helpful in complex cases.
57.
▲
by
demurgos
2y ago
The 2.08% cover all Linux users: Deck and non-Deck users. You have to check distro details for the breakdown. SteamOS Holo (Deck distro) is 40.97% of the Linux users. https://store.steampowered.com/hwsurvey?platform=linux
58.
▲
by
demurgos
2y ago
Thank you!
59.
▲
by
demurgos
2y ago
Thank you!
60.
▲
by
demurgos
2y ago
You linked a more general FAQ for the GPL. Would you have a more specific quote or link for interactions with AGPL code?
More ›