Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
simonask
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
241.
▲
by
simonask
7mo ago
I think you severely overestimate the amount of leverage the FOSS community has over companies like NVIDIA.
242.
▲
by
simonask
7mo ago
To be fair, it’s pretty dumb that seemingly every article and LLM suggested using Pop!\_OS, which uses the Cosmic Desktop by default. At the time of writing, it is nowhere near ready for prime time. Whether that’s LTT’s fault or the communi
243.
▲
by
simonask
7mo ago
Not this particular kind. This is a race between separate processes, and the target is the file system, not a location in memory.
244.
▲
by
simonask
7mo ago
This is orthogonal to the difficulty of actually implementing a JIT compiler. It’s very much possible to make something less advanced than JVM or CLR, or even V8, that will still outperform an interpreter, even for an extremely dynamic lang
245.
▲
by
simonask
7mo ago
The lowest-key example of this is tools that enforce a particular order of arguments, or where the order of arguments carries semantic meaning. It's the worst. Please don't make me put the file name last, or first. You don't
246.
▲
by
simonask
7mo ago
The simplest JIT just generates the machine code instructions that the interpreter loop would execute anyway. It’s not an extremely difficult thing, but it also doesn’t give you much benefit. A worthwhile JIT is a fully optimizing compiler,
247.
▲
by
simonask
7mo ago
I meant to write “tactile”, not “tactical”, but missed it before the edit window expired. Anecdotally, ask people who knit whether their brain is stimulated. Physically engaging with the thing you are making is part of the process that make
248.
▲
by
simonask
7mo ago
I dunno, I think tray icons support is kind of the absurd hill to die on. They're a Windows 95-ism and generally extremely horrible in terms of usability. Apps use them and desktop environments support them mostly out of a lack of imag
249.
▲
by
simonask
7mo ago
You could take screenshots and do screen sharing with Wayland long before 2020.
250.
▲
by
simonask
7mo ago
The tactical process of writing the code is also when you discover the errors in your design. Like, did we think waterfall suddenly works now just because typing can be automated? No.
251.
▲
by
simonask
7mo ago
I wish you good luck! Successive attempts to achieve similar levels of analysis without annotations have failed in the C++ space, but I look forward to reading your results.
252.
▲
by
simonask
7mo ago
Why do you mention lifetimes here? They are exclusively a compile-time pointer annotation, they have no runtime behavior, thus no overhead. Dynamic dispatch in general is much, much faster than many people’s intuition seems to indicate. You
253.
▲
by
simonask
7mo ago
Huh? Which optimizations?
254.
▲
by
simonask
7mo ago
Oh damn, I missed this, thanks for the correction!
255.
▲
by
simonask
7mo ago
Rust is basically in the same place as C++, i.e. provenance rules are currently ad-hoc/conventional, meaning that pointer tagging is a grey area.
256.
▲
by
simonask
7mo ago
> I assert there is no reason to rewrite LLVM in Rust. Everybody agrees with that, though? Including the people writing rustc. There's a space for a different thing that does codegen differently (e.g. Cranelift), but that's nei
257.
▲
by
simonask
7mo ago
I don't think you've necessarily understood the scope and impact of the borrow checker. Bounds checking is just a sane default (hygiene), not a game changer.
258.
▲
by
simonask
7mo ago
So... Like, what? Do you agree that there is no technical reason for LLVM to be written in C++ over Rust? Have you considered that you perhaps do more damage to the conversation by having it with this hypothetical strike force instead of th
259.
▲
by
simonask
7mo ago
"More safety than C" is an incredibly low bar. These are hygiene features, which is great, but Rust offers a paradigm shift. It's an entirely different ballpark.
260.
▲
by
simonask
7mo ago
Rust uses LLVM because it's pretty great, not because you couldn't implement LLVM in Rust. Maybe cranelift will eventually surpass LLVM, but there isn't currently much reason to push for that.
261.
▲
by
simonask
7mo ago
The errno/GetLastError() pattern is a remnant from a time before threads were a thing. You could have multiple processes, but they were largely scheduled collaboratively (rather than preemptively). In that world, things like global var
262.
▲
by
simonask
7mo ago
Not everybody is writing web apps. You can also see it differently: If the language dictates a 4x increase in memory or CPU usage, you have set a much closer deadline before you need to upgrade the machine or rearchitect your code to become
263.
▲
by
simonask
7mo ago
The unique geography of the Scandinavian peninsula combined with very low population density makes Sweden a bit less interesting in terms of achieving zero emissions in other geographies, and I doubt Swedes would be cool with expanding hydr
264.
▲
by
simonask
7mo ago
I’m mainly comparing to the progeny of C, where the biggest difference is the fact that almost everything is an expression in Rust. No need for ternary operators. C# unsafe blocks can only appear as statements (so you cannot delegate from a
265.
▲
by
simonask
7mo ago
Sure, it’s really fine for what it does, but it is not significantly easier to deal with than Rust async, and remains fundamentally unsuited in several scenarios where Rust async works really well.
266.
▲
by
simonask
7mo ago
I think practical experience with Go reveals that this choice being “the only sane thing” is highly debatable. It comes with huge drawbacks.
267.
▲
by
simonask
7mo ago
You speak in the past tense, but .NET 11 is not released yet at time of writing. Runtime-async is not the current reality.
268.
▲
by
simonask
7mo ago
You know what, I’ve heard people say this and thought “OK, maybe these other languages with GCs and huge runtimes really do something magical to make async a breeze”. But then I actually tried both TypeScript and C#, and no. Writing correct
269.
▲
by
simonask
7mo ago
I would also have liked to see some motivational examples, but I think the most interesting upside of an effect system is composability. Rust is actually really unique among imperative languages in its general composability - things just co
270.
▲
by
simonask
7mo ago
Please take literally one course. Do NOT use mnemonics as primary keys. It WILL bite you.
More ›