<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sam Moelius on The Trail of Bits Blog</title><link>https://miscreants.github.io/blog.trailofbits.com/authors/sam-moelius/</link><description>Recent content in Sam Moelius on The Trail of Bits Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 31 Dec 2021 07:00:56 -0500</lastBuildDate><atom:link href="https://miscreants.github.io/blog.trailofbits.com/authors/sam-moelius/index.xml" rel="self" type="application/rss+xml"/><item><title>Celebrating our 2021 Open Source Contributions</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/12/31/celebrating-our-2021-open-source-contributions/</link><pubDate>Fri, 31 Dec 2021 07:00:56 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/12/31/celebrating-our-2021-open-source-contributions/</guid><description>At Trail of Bits, we pride ourselves on making our best tools open source, such as algo, manticore, and graphtage. But while this post is about open source, it’s not about our tools… In 2021, Trail of Bits employees submitted over 190 pull requests (PRs) that were merged into non-Trail of Bits repositories. This demonstrates […]</description></item><item><title>On LibraBFT’s use of broadcasts</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/07/12/librabft/</link><pubDate>Fri, 12 Jul 2019 06:50:24 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/07/12/librabft/</guid><description>LibraBFT is the Byzantine Fault Tolerant (BFT) consensus algorithm used by the recently released Libra cryptocurrency. LibraBFT is based on another BFT consensus algorithm called HotStuff. While some have noted the similarities between the two algorithms, they differ in some crucial respects. In this post we highlight one such difference: in LibraBFT, non-leaders perform broadcasts. […]</description></item><item><title>Panicking the right way in Go</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/06/26/panicking-the-right-way-in-go/</link><pubDate>Wed, 26 Jun 2019 06:50:58 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/06/26/panicking-the-right-way-in-go/</guid><description>A common Go idiom is to (1) panic, (2) recover from the panic in a deferred function, and (3) continue on. In general, this is okay, so long there are no global state changes between the entry point to the function calling defer, and the point at which the panic occurs. Such global state changes […]</description></item></channel></rss>