Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
purplesyringa
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
10 ms
·
61.
▲
by
purplesyringa
1y ago
How close are Zig's safety guarantees to Rust's? Honest question; I don't follow Zig development. I can't take C seriously because it hasn't even bothered to define provenance until now, but as far as I'm aware
62.
▲
by
purplesyringa
1y ago
I think LLMs improve productivity in the present at a significant cost for the future. It's like cutting an R&D department. You might be able to utilize existing approaches better, but you won't make progress, and I think peop
63.
▲
by
purplesyringa
1y ago
I'm surprised by the number of bad takes on LLMs in this thread. LLMs spoon-feed you with information about how things are implemented. You are not supposed to know how everything works when you start these projects. You're supp
64.
▲
by
purplesyringa
1y ago
This sounds amazing, personally I'd love to take a look at the project or read a blog post when you're done.
65.
▲
by
purplesyringa
1y ago
I mean, there's literally an example animation in the post. Maybe you don't want subpixel positioning in long texts, but you absolutely need it whenever you need animated transitions or animation in general.
66.
▲
by
purplesyringa
1y ago
I appreciate that calling a hobby "no one" (read: many people) enjoy a mental illness is genuine, but I think I find the grandparent much less toxic than the comment it replies to. There's no need to shame people for things t
67.
▲
by
purplesyringa
1y ago
This is a post with formatting and we're programmers here. I can assure you their editor (or Markdown) supports em-dash in some fashion.
68.
▲
by
purplesyringa
1y ago
The illustrations were cool. They could've been just prerecorded animations, but I really appreciate making them endless. Quite mesmerizing and motivates reading.
69.
▲
by
purplesyringa
1y ago
It's really interesting to see what people focus on when learning new things. Instruction encoding is something I would consider arcane knowledge, except that it isn't really useful ; if you need to write an assembler or a disass
70.
▲
by
purplesyringa
1y ago
OP here. The post is about a method I derived as a part of my work on a Java decompiler. I also have related questions for people in programming language theory. ("Ask HN" doesn't seem to fit submissions with URLs, so I'
71.
▲
by
purplesyringa
1y ago
I do still see their point. SIMD is very rarely applicable, so you could argue that SIMD can only be applied to simple enough code. The idea is: write stupid code because it'll be easier to optimize on a micro level, e.g. with SIMD.
72.
▲
by
purplesyringa
1y ago
I don't see how symbolic execution is relevant to this. Yes, symbolic execution does "check both paths" for some definition of "check", but ultimately I as a programmer still need to write a condition, and that cond
73.
▲
by
purplesyringa
1y ago
@thrtythreeforty I think this RFC is a good start: https://github.com/bytecodealliance/rfcs/blob/main/accepted/... . Then read through these docs: https://docs.rs/egg/latest/
74.
▲
by
purplesyringa
1y ago
I think we're all talking past each other here. Your suggestions introduce, in effect, a hypothetical `if` statement, only one branch of which is taken. I can change the condition arbitrarily, but ultimately it's still going to be
75.
▲
by
purplesyringa
1y ago
I learn something new every day! Thanks for mentioning this. For other readers: Agner Fog documents this in 22.18 Mirroring memory operands. I've known that similar optimizations exist, namely store-to-load forwarding, but I didn'
76.
▲
by
purplesyringa
1y ago
I don't think we're in disagreement. You have to consider big-O cost, memory footprint, exact numbers, know what performance to expect from various abstractions, etc. -- and then you need to choose between multiple alternatives.
77.
▲
by
purplesyringa
1y ago
The problem is that way too often, the model simply doesn't capture enough complexity to be applicable. This happens rarely during high-level optimization but is very common during microoptimization. You can build a model, and it wi
78.
▲
by
purplesyringa
1y ago
I'd love to use a tool that shows the state of every CPU component at each point in time. Performance counters demonstrate global behavior, while what actually matters during optimization is local behavior. I'd like to be able to
79.
▲
by
purplesyringa
1y ago
I was going for something different: I don't want to choose a different implementation in runtime , I want the compiler to see through my code and apply constant propagation -- not just for constant inputs, but inputs with known pro
80.
▲
by
purplesyringa
1y ago
You're right, I could've phrased that better. Profiling to find suboptimal code is perfectly fine. Then you need to figure out how to fix it. Many people don't understand how performance optimization works, so they blindly ad
81.
▲
by
purplesyringa
1y ago
IEEE-754 seems to say that NaN payloads are designed to contain "retrospective diagnostic information inherited from invalid or unavailable data and results". While NaN boxing in particular probably wasn't the intention, unto
82.
▲
by
purplesyringa
2y ago
This quite literally the story of nouveau. The driver exists because people need it, and the driver is maintained by the people who wrote it. I don't see why the same doesn't apply to Linux on Apple Silicon.
83.
▲
by
purplesyringa
2y ago
Avoiding drama is a two-way street. I'm not saying marcan wasn't at least somewhat at fault here, but the reason the drama happened in the first place is a leadership crisis and Linux folks calling Rust a cancerous religion withou
84.
▲
by
purplesyringa
2y ago
The comment you linked to explicitly shows that a maintainer does not consider this "okay" at all. T-libs-api made a mistake, the community got enraged, T-libs-api hasn't made such a mistake since. The fact that it happened s
85.
▲
by
purplesyringa
2y ago
> Encoding assumptions and invariants in the type system is a spectrum. Rust, by it's very nature, places you quite far along that spectrum immediately. Compared to, say, dependent type systems, Rust really isn't that far along
86.
▲
by
purplesyringa
2y ago
This is true, strictly speaking, but rarely causes problems. Inherent methods are prioritized over trait methods, so this only causes problems if two traits suddenly define a single method, and the method is invoked in an ambiguous context.
87.
▲
by
purplesyringa
2y ago
Can you provide an example for the broken-crater claim? As far as I'm aware, Rust folks don't break compatibility that easily, and the one time that happened recently (an old version of the `time` crate getting broken by a compile
88.
▲
Screwing up ping with eBPF/XDP
(x3lfy.space)
3 points
by
purplesyringa
2y ago
|
0 comments
89.
▲
by
purplesyringa
2y ago
> This… probably is the most sketchy part of the whole endeavor. It is `unsafe`, requires lifetimes casing, and I actually can’t get it past miri. But it should be fine, right? I just can't. If you're ignoring the UB checker, w
90.
▲
by
purplesyringa
2y ago
Instead of let surrogate_mask = surrogate_bit << 2 | surrogate_bit << 1 | surrogate_bit; len &= !surrogate_mask; consider len &= surrogate_bit.wrapping_sub(1); This should still work better. Alterna
More ›