HackerTrans
TopNewTrendsCommentsPastAskShowJobs

kldx

no profile record

Submissions

Tell HN: Beeper deletes inactive accounts without notice

4 points·by kldx·6 ay önce·1 comments

comments

kldx
·11 ay önce·discuss
https://github.com/francoismichel/ssh3
kldx
·12 ay önce·discuss
Let me try providing a different perspective based on experience. QUIC works amazingly well for _some_ kinds of machine to machine traffic.

ssh3, based on QUIC is quicker at dropping into a shell compared to ssh. The latency difference was clearly visible.

QUIC with the unreliable dgram extension is also a great way to implement port forwarding over ssh. Tunneling one reliable transport over another hides the packer losses in the upper layer.
kldx
·12 ay önce·discuss
QUIC v1 does encrypt the SNI in the client hello, but the keys are derived from a predefined salt and the destination connection id. I don't see why decrypting this would be difficult for a nginx plugin.
kldx
·geçen yıl·discuss
> For example, instead of a power function that uses a loop, you could generate specialized code like x * x * x * x * x directly. This eliminates runtime overhead and creates highly optimized code.

Could anyone explain to me how this is different from templates or parameter pack expansion in C++? I can see the constexpr-ness here is encoded in the type system and appears more composable, but I am not sure if I am missing the point.

I looked at the paper but I can't find anything related to C++.
kldx
·geçen yıl·discuss
Wondered about the same thing. Perhaps the author deals with graphs with no side effects or branches? It would then trivially become CSE on a single basic block.

SSA transformations are essentially equivalent to what the author appears to be doing in terms of let-bindings [0].

[0] https://dl.acm.org/doi/10.1145/278283.278285
kldx
·geçen yıl·discuss
Can anyone suggest simple to implement algorithms for SSA destruction? I find Cytron's destruction easy (paired with copy propagation), but the more recent ones are difficult to implement directly from the papers.
kldx
·geçen yıl·discuss
I like Aria's writing about this https://faultlore.com/blah/swift-abi/.
kldx
·2 yıl önce·discuss
I am doing it this year with haskell. My C++ alter-ego (ab)used Data.STRef in the previous years so I am trying to do it idiomatically this time.
kldx
·2 yıl önce·discuss
Apologies, I mean $rax
kldx
·2 yıl önce·discuss
Aren't we paying for Result types every time it's used? A result of a 64 bit value wouldn't fit into $eax for example (I understand there are exceptions to this rule through invalid bit pattern optimizations)
kldx
·2 yıl önce·discuss
Cargo workspaces do not support compiling two subprojects for two different targets in a single build invocation. The workaround was (still is?) to use each subproject as a standalone project just for builds. The dependency between these targets is now expressed by the Makefile invoking cargo. This also breaks IDE integrations because your IDE does not know how to ask cargo to pick the right target for each workspace member.

Bazel makes this consistent with platforms [0]. I have not used bazel with Rust but it worked fine for my multi-target C++ builds.

[0] https://bazel.build/extending/platforms
kldx
·2 yıl önce·discuss
In the embedded space, rust works great for riscv on ESP chips
kldx
·2 yıl önce·discuss
I like MegaParsec in haskell quite expressive, based on my limited experience using nom in Rust