Readit News logoReadit News
touisteur commented on Io_uring, kTLS and Rust for zero syscall HTTPS server   blog.habets.se/2025/04/io... · Posted by u/guntars
Seattle3503 · 4 days ago
> For example when submitting a write operation, the memory location of those bytes must not be deallocated or overwritten.

> The io-uring crate doesn’t help much with this. The API doesn’t allow the borrow checker to protect you at compile time, and I don’t see it doing any runtime checks either.

I've seen comments like this before[1], and I get the impression that building a a safe async Rust library around io_uring is actually quite difficult. Which is sort of a bummer.

IIRC Alice from the tokio team also suggested there hasn't been much interest in pushing through these difficulties more recently, as the current performance is "good enough".

[1] https://boats.gitlab.io/blog/post/io-uring/

touisteur · 3 days ago
I wish I could have been paid to work on SPARK specification around io_uring so that one could have built on it. Or to work on SPARK-to-eBPF (there's already a llvm backend for gnat) and have some form of guarantees at the seams... alas.
touisteur commented on Apple's new Processor Trace instrument is incredible   victorwynne.com/processor... · Posted by u/xdevweeknds
mananaysiempre · 9 days ago
Finally, a processor manufacturer defects from the obfuscatory equilibrium. Granted, Apple’s processor people are not saints—I’ve yet to see even a full table of throughputs, latencies, and port loads from them, let alone an accurate CPU model—but I welcome anything that might maybe, hopefully, pretty please start a race of giving more accurate data to people doing low-level optimization.
touisteur · 9 days ago
Intel Processor Trace was already pretty great. Built a MC-DC coverage tool with it. Used it for fine profiling, live program monitoring...
touisteur commented on I made a real-time C/C++/Rust build visualizer   danielchasehooper.com/pos... · Posted by u/dhooper
pklausler · 11 days ago
strace might help, if you have it.
touisteur · 9 days ago
perf record -e "syscalls:,sched:" is my go-to there - or just apply it on whole-system, aasone does.
touisteur commented on The 1090 Megahertz Riddle: A Guide to Decoding Mode S and ADS-B Signals   books.open.tudelft.nl/hom... · Posted by u/toomuchtodo
fluxquanta · 20 days ago
> aircraft surveillance has moved from controller-based interrogation to automatic broadcast

I'd take issue with the phrasing "moved from" and would rather use "supplemented by". Controller-based interrogation is still widely used.

touisteur · 19 days ago
Moreover the advantage of Mode S radar (ground-initiated transactions) is that you're using a self-coherent system: the radar knows what it sent and what it is supposed to receive, and when, in a narrow beam, etc.

It makes lots of spoofing attacks unpractical. Where as relying on GNSS exposes to a whole bunch of 'constellation replay' or fake-adsb-telegrams attacks. Mode S lacks authentication, but there's no reason it couldn't be tacked on one day (through e.g. the already available 'advanced' data-link capabilities or the many available 'gicb' registers...). Even light session-authentication would break most of the remaining spoofing attacks (and most swap problems) on ground-initiated Mode S radar.

touisteur commented on Weather Model based on ADS-B   obrhubr.org/adsb-weather-... · Posted by u/surprisetalk
nickmcc · 24 days ago
I think you could also infer storm tracks based on pilot deviations they often make following their on-board radar.
touisteur · 23 days ago
If you're lucky to be in an area where a Mode S radar is requesting BDS4,4 you can gather more (sparse) live meteorological data: wind speed/direction, temperature, air pressure, humidity... haven't seen BDS 4,4 requested in a while but maybe someone will enable it in your area...
touisteur commented on Weather Model based on ADS-B   obrhubr.org/adsb-weather-... · Posted by u/surprisetalk
touisteur · 24 days ago
Another fun thing to do is to get mode c (barometric altitude) from aircraft transponders (either SSR or Mode-S downlink 5 or 21 - same physical layer as ADS-B just different bitfield header) and compare it to its GNSS altitude (from ADS-B most of the time) from the same aircraft (the Mode S address used as key) and you can build a map of atmospheric pressures.
touisteur commented on AI overviews cause massive drop in search clicks   arstechnica.com/ai/2025/0... · Posted by u/jonbaer
Zardoz84 · a month ago
qwant ?
touisteur · a month ago
Qwant also has an AI overview. Pretty bad too.
touisteur commented on My first verified imperative program   markushimmel.de/blog/my-f... · Posted by u/TwoFx
Jtsummers · 2 months ago
Try that in SPARK/Ada. It'll stop you there [if it can't prove that low + high won't overflow]. Don't take a proof written with one set of assumptions (in this case how integers are expected to behave) and translate it to another language where those assumptions don't hold.
touisteur · 2 months ago
The most interesting part of SPARK for me is how all the runtime checks are implicitly, automatically generated and need to be proved.

A whole bunch of assumptions about the language are hidden and the verification conditions are generated automatically for the underlying automatic or semi-automatic proof tools (why3-intermediated) - the second best part of SPARK.

You have to trust that the SPARK FrontEnd makers got it right - or you can inspect/review all the discharged VC if you want - and you still have to actually prove or help prove them all, but I'm not losing sleep over a forgotten 'normal' check.

touisteur commented on Building the Rust Compiler with GCC   fractalfir.github.io/gene... · Posted by u/todsacerdoti
saagarjha · 2 months ago
> Normally, debuing the compiler is fairly straightforward: it is more or less a run of the mill executable.

> In the bootstrap process, the entire thing becomes way more complex. You see, rustc is not invoked directly. The bootstrap script calls a wrapper around the compiler.

> Running that wrapped rustc is not easy to run either: it requires a whole lot of complex, environment flags to be set.

> All that is to say: I don’t know how to debug the Rust compiler. I am 99.9 % sure there is an easy way to do this, documented somewhere I did not think to look. After I post this, somebody will tell me "oh, you just need to do X".

> Still, at the time of writing, I did not know how to do this.

> So, can we attach gdb to the running process? Nope, it crashes way to quickly for that.

It's kind of funny how often this problem crops up and the variety of tricks I have in my back to deal with it. Sometimes I patch the script to invoke gdb --args [the original command] instead, but this is only really worthwhile if it's a simple shell script and also I can track where stdin/stdout are going. Otherwise I might patch the code to sleep a bit before actually running anything to give me a chance to attach GDB. On some platforms you can get notified of process execs and sometimes even intercept that (e.g. as an EDR solution) and sometimes I will use that to suspend the process before it gets a chance to launch. But I kind of wish there was a better way to do this in general…LLDB has a "wait for launch" flag but it just spins in a loop waiting for new processes and it can't catch anything that dies too early.

touisteur · 2 months ago
Now wondering whether the author might be able to force a core dump. With recent snapshot abilities, on Modern Intel processors one can get a Processor Trace that can be helpful even without getting an actual interactive debugging session (haven't done one of those in a while as snapshots seem enough for my needs these days).
touisteur commented on CUDA Ray Tracing 2x Faster Than RTX: My CUDA Ray Tracing Journey   karimsayedre.github.io/RT... · Posted by u/ibobev
ChocolateGod · 2 months ago
Wouldn't you need to in a real world scenario make the CUDA cores aware of the game geometry adding more work on the CPU?
touisteur · 2 months ago
Ideally you don't make the cuda cores aware but rather the ray-tracing circuitry. RT cores are designed to perform ray-triangle intersections in a BVH. You get the teraflops and memory bandwidth (or more of it) if you fit the RT-core computing model.

And in most cases it's ok to spend time on one CPU function (creating and loading the BVH) against the hundred thousands of frames you'll be drawing on GPU.

u/touisteur

KarmaCake day1681March 27, 2017View Original