Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Panzerschrek
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
Panzerschrek
4d ago
> If you didn't have that guarantee, at worst your mutex's guard object would be immediately dropped For named local variables it's a different story. They should remain alive until the end of their lexical scope. But for
2.
▲
by
Panzerschrek
4d ago
> In Rust variables are not destroyed after the last borrow ends but instead when it goes out of scope That's the problem. Once I had a tricky case, where I locked a mutex in a match expression only to read a single field to match
3.
▲
by
Panzerschrek
4d ago
> Exactly the way you suggest, as an optional add-in No, I don't suggest it, but criticize it. Rust performs its checking as a separate step after actual compilation, which sometimes leads to strange behavior (like borrow errors ar
4.
▲
by
Panzerschrek
4d ago
> Borrow Checking It's very confusing name for this feature. It suggest that some sort of borrowing takes place and that it's just an optional check, which isn't the case. It should be named something like "enforced s
5.
▲
by
Panzerschrek
7d ago
Once I have implemented such tiling using shadertoy. Source code: https://github.com/Panzerschrek/shader_bits/blob/master/penr... . No recursion is really needed (which isn't supported in shaders), b
6.
▲
by
Panzerschrek
8d ago
> We claim that C achieves real-time program verification, i.e., the user can carry out verification as they program the implementation code incrementally. It achieves this goal by orchestrating the symbolic-execution engine and the LCF-
7.
▲
by
Panzerschrek
11d ago
"white IP address" is an address that your internet provider gives you and which is accessible from the whole internet, not just some address local for the provider's network and hidden behind NAT. Since IPv4 addresses are sc
8.
▲
by
Panzerschrek
11d ago
> you can choose at use site This is possible in C++ too, but it may require extra work. But is it really needed that often to use both kinds of polymorphism for the same type? > the size of the objects do not pay for dynamic dispatch
9.
▲
by
Panzerschrek
11d ago
> A trait must follow so-called object safety rules to be used as a trait object This seems for me to be a major design flaw of Rust. It tries to repurpose traits for dynamic polymorphism, even if this doesn't fit perfectly. C++ is
10.
▲
by
Panzerschrek
11d ago
I once faced a tricky bug involving fat pointers (containing virtual tables) in Rust. Two such pointers may be distinct, even if they reference to the same object, because (for some reason) the compiler may create two (or even more) copies
11.
▲
by
Panzerschrek
11d ago
Making self-hosting really accessible isn't that easy, even if it's easy to setup the server machine itself. One needs to make their server machine accessible to everyone, which isn't generally possible due to how networks wo
12.
▲
by
Panzerschrek
14d ago
Nice, but particles (smoke, blood) are not ASCII.
13.
▲
by
Panzerschrek
16d ago
It looks suspicious. It has only 18 commits, the majority of code was added via single initial commit. is it LLM-generated?
14.
▲
by
Panzerschrek
17d ago
It's a common situation for many quotes of such kind. Taken out of context they loose or completely change their initial meaning.
15.
▲
by
Panzerschrek
17d ago
This can work only for toy projects with no complex build scripts and without dependencies fetched not via git.
16.
▲
by
Panzerschrek
18d ago
The program described in this article is as simple as possible. What about something more complex, like basic "hello world"? It requires at least one more syscall and several bytes more data.
17.
▲
by
Panzerschrek
18d ago
It was maybe cool 50 years ago or so. Nowadays it's no longer needed. Possible performance gains of such code are marginal and modern programming languages allow generating many specialized and optimized code pieces using the same temp
18.
▲
by
Panzerschrek
20d ago
Are chain-of-trust attacks real? Is it necessary to make so much effort to avoid what supposedly never happened?
19.
▲
by
Panzerschrek
27d ago
Such trick looks interesting. But I think for many cases it would be better to use fixed-width arithmetic based on 128-bit integers. Operations for them are much cheaper if done right (and assuming compilers are smart enough to optimize the
20.
▲
by
Panzerschrek
27d ago
Sandboxing for build scripts can't work properly. If you sandbox too much, some necessary stuff can't be done. If you sandbox too little, it has no practical value.
21.
▲
by
Panzerschrek
27d ago
> In the end it is your decision to use unaudited or refuse unaudited crates. It should be the default behavior of the package manager to allow downloading only audited/trusted packages. Forcing end-users of the language to be respo
22.
▲
by
Panzerschrek
27d ago
Languages like Rust have sources of income to be able to finance such audit. You don't need to audit all the crap is being uploaded right now. Only really necessary and widely-used packages should be managed in a centralized way, so, a
23.
▲
by
Panzerschrek
27d ago
Why this still happens? Why after many previous supply-chain attacks maintainers of package repositories still allow anyone uploading packages and pushing updates without security audit?
24.
▲
by
Panzerschrek
1mo ago
John Carmack promised that Quake II will use MMX, but this wasn't done. That's why software rendering in Quake II is so boring, it doesn't even support colored lighting. In the other hand Unreal did use MMX, which allowed it
25.
▲
by
Panzerschrek
1mo ago
It seems for me fundamentally wrong to use C# to write some scripting language, since C# itself is pretty high-level and is used widely for scripting (like in Unity).
26.
▲
by
Panzerschrek
1mo ago
> Typically very long latency and poor throughput. Recently I have been investigating what operations modern compilers for modern CPUs can optimize. I fond, that for floating-point types there are vector division instructions (which comp
27.
▲
by
Panzerschrek
1mo ago
Extern "fil-C" can't be compatible with Rust code or something similar. It requires a metadata block attached to each allocation. So, if a memory block has been allocated in Rust and a pointer to it is passed to a fil-C funct
28.
▲
by
Panzerschrek
1mo ago
The root cause of all C ABI problems are shared libraries. They give so much trouble with little to no benefits. Ideally no application should use them. All dependencies should be compiled from sources with the same compiler and standard li
29.
▲
by
Panzerschrek
1mo ago
> // Proposed: Transparent Aliases > _Alias g = f; I think defining a constant function pointer should work. As long the compiler doesn't store this pointer in the result executable and optimizes-out all calls via it in
30.
▲
by
Panzerschrek
1mo ago
Google Earth is likely not profitable to keep it alive. This probably happened with many other services killed previously.
More ›