{"generator":"GNU social 2.0.2-dev","title":"Conversation","totalItems":2,"items":[{"actor":{"id":"https:\/\/infosec.exchange\/users\/ryanc","displayName":"Ryan Castellucci (they\/them) :nonbinary_flag:","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/174285-original-tmp20231204224453.webp","rel":"avatar","type":"image\/webp","width":392,"height":392},{"url":"https:\/\/gnusocial.jp\/avatar\/174285-96-20231204225121.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/174285-48-20231204225121.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/174285-24-20231204225121.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"174285"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/174285-96-20231204225121.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Hacker. Cryptography geek. Bureaucramancer. Ex-sysadmin. Nonbinary. Expat (US\u2b95UK).My continuing mission:To explore strange new platforms.To seek out new bugs and new software.To boldly shitpost where no one has shitposted before!I&#39;m suing the UK for more gender, please help with my legal bills: https:\/\/enby.org.ukhttps:\/\/justmytoots.com\/@ryanc@infosec.exchange#hacker #nonbinary","url":"https:\/\/infosec.exchange\/@ryanc","portablecontacts_net":{"preferredUsername":"ryanc","displayName":"Ryan Castellucci (they\/them) :nonbinary_flag:","note":"Hacker. Cryptography geek. Bureaucramancer. Ex-sysadmin. Nonbinary. Expat (US\u2b95UK).My continuing mission:To explore strange new platforms.To seek out new bugs and new software.To boldly shitpost where no one has shitposted before!I&#39;m suing the UK for more gender, please help with my legal bills: https:\/\/enby.org.ukhttps:\/\/justmytoots.com\/@ryanc@infosec.exchange#hacker #nonbinary"}},"content":"<p><a href=\"https:\/\/infosec.exchange\/@lcamtuf\" class=\"u-url mention\">@lcamtuf<\/a> Amusingly, I recently did some work in Rust and wanted safe file operations that avoided race conditions. I couldn't find anything good and wrote my own opinionated helper.<\/p><p>Though, a large part of it is that O_TMPFILE is awesome and underused.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-07-16:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/infosec.exchange\/users\/ryanc\/statuses\/116518009672810653","object":{"id":"https:\/\/infosec.exchange\/users\/ryanc\/statuses\/116518009672810653","objectType":"note","content":"<p><a href=\"https:\/\/infosec.exchange\/@lcamtuf\" class=\"u-url mention\">@lcamtuf<\/a> Amusingly, I recently did some work in Rust and wanted safe file operations that avoided race conditions. I couldn't find anything good and wrote my own opinionated helper.<\/p><p>Though, a large part of it is that O_TMPFILE is awesome and underused.<\/p>","url":"https:\/\/infosec.exchange\/@ryanc\/116518009672810653","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/infosec.exchange\/users\/lcamtuf\/statuses\/116517194178120536","url":"https:\/\/infosec.exchange\/@lcamtuf\/116517194178120536"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/infosec.exchange\/users\/lcamtuf"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-05-04:objectType=thread:nonce=673421868645ffb1","notice_info":{"local_id":"12549666","source":"ActivityPub"}},"published":"2026-05-04T19:42:40+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/infosec.exchange\/@ryanc\/116518009672810653"},{"actor":{"id":"https:\/\/infosec.exchange\/users\/lcamtuf","displayName":"lcamtuf :verified: :verified: :verified:","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/80133-original-tmp20231108212347.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/80133-96-20231109030933.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/80133-48-20231109030933.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/80133-24-20231109030933.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"80133"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/80133-96-20231109030933.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"To Be Filled By O.E.M.","url":"https:\/\/infosec.exchange\/@lcamtuf","portablecontacts_net":{"preferredUsername":"lcamtuf","displayName":"lcamtuf :verified: :verified: :verified:","note":"To Be Filled By O.E.M."}},"content":"<p>The coreutils Rust rewrite story is pretty funny.<\/p><p>Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.<\/p><p>But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:<\/p><p><a href=\"https:\/\/seclists.org\/oss-sec\/2026\/q2\/332\" rel=\"nofollow\">https:\/\/seclists.org\/oss-sec\/2026\/q2\/332<\/a><\/p><p>PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-07-16:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/infosec.exchange\/users\/lcamtuf\/statuses\/116517194178120536","object":{"id":"https:\/\/infosec.exchange\/users\/lcamtuf\/statuses\/116517194178120536","objectType":"note","content":"<p>The coreutils Rust rewrite story is pretty funny.<\/p><p>Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.<\/p><p>But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:<\/p><p><a href=\"https:\/\/seclists.org\/oss-sec\/2026\/q2\/332\" rel=\"nofollow\">https:\/\/seclists.org\/oss-sec\/2026\/q2\/332<\/a><\/p><p>PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.<\/p>","url":"https:\/\/infosec.exchange\/@lcamtuf\/116517194178120536","status_net":{"notice_id":null}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-05-04:objectType=thread:nonce=673421868645ffb1","notice_info":{"local_id":"12549642","source":"ActivityPub"}},"published":"2026-05-04T19:37:02+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/infosec.exchange\/@lcamtuf\/116517194178120536"}],"links":[{"url":"https:\/\/gnusocial.jp\/conversation\/6373315","rel":"alternate","type":"text\/html"}]}