Hacker News new | past | comments | ask | show | jobs | submit | elliotpotts's comments login

Wow, Fil-C++ looks very interesting! I wonder what % of programs make its pointer tracking fail due to stuffing things in the higher bits, doing integer conversions and so on. It reminds me of CHERI.

You can put stuff in the high and low bits of pointers in Fil-C so long as you clear them before access, otherwise the access itself traps.

Python does shit like that and it works fine in Fil-C, though I needed to make some minor adjustments a like a 50KB ish patch to CPython.


The readme talks about eye candy but there are no screenshots.


https://github.com/WillPower3309/swayfx https://www.reddit.com/r/unixporn/comments/y5ne34/sway_spook...

Haven’t used it but looks like it’s main (only?) use right now is in SwayFX and there’ll be loads of screenshots of that


I'd like to see a post on fuzzing distributed applications rather than memory models. I understand the underlying principle is the same, but having only seen memory models be tested I can't quite shift my perspective enough to figure out how fuzzing processing communicating over networks would work. The SQL transaction post would be a nice perspective too. Is this still in the works?


Progress is slow, but I've been maintaining the Rust version when I have time. The MVP of fuzzing network communications and disk access is fairly easy, but there is a long tail of very complicated behaviour I'd like to simulate.

Dan Luu's site [1] goes into a fair bit of detail on the disk side. I see no reason why you can't emulate a superset of the worst case behaviour, and have a great deal of confidence that you're using file access in a way that won't result in corruption.

Networks will have a similar long tail, e.g. asymmetric net splits.

The SQL version is a bit trickier, as the API is much wider. The abstraction I was working on was essentially that you get select, insert and update, and write anything more complicated yourself.

This works for replicating the skews and other phenomena described in DDIA [2], but it runs into the same core problem that you're simulating a model of your code, not your code itself. The best pathway for temporal fuzzing databases with production loads is probably at the network layer.

[1] https://danluu.com/file-consistency/ [2] https://www.amazon.com.au/Designing-Data-Intensive-Applicati...


Great, thank you for the reading!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: