<rss version="2.0">
  <channel>
    <title>87flowers&#x27; blog</title>
    <link>https://87flowers.com</link>
    <description>87flowers&#x27; website documenting her life and her projects</description>
    <language>en</language>
    <item>
      <title>rapidly indexing arbitrary king and knight moves</title>
      <link>https://87flowers.com/chess-leaper-indexing/</link>
      <description>A small observation resulting in a trick that uses gf2p8affineqb in passing.</description>
      <category>chess</category>
      <pubDate>Fri, 17 Jul 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>a scheme for chess move flags</title>
      <link>https://87flowers.com/chess-moveflags/</link>
      <description>Earlier this year, I invented a move flags scheme that has been adopted by mutliple engines. This post describes the rationale behind the design of this scheme.</description>
      <category>chess</category>
      <pubDate>Sat, 13 Dec 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>permute mailbox to bitboards (Chess, AVX-512, GFNI)</title>
      <link>https://87flowers.com/permute-mailbox-to-bitboards/</link>
      <description>We show that the mailbox and bitboard representations of a chess board are interchangeable.</description>
      <category>chess</category>
      <pubDate>Mon, 08 Sep 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>faster pshufb inverse</title>
      <link>https://87flowers.com/inverse-pshufb/</link>
      <description>CPUs only have an in-vector forward permute instruction. How do you performantly do an backwards/inverse in-vector permute on a CPU? Let's find out.</description>
      <category>simd</category>
      <pubDate>Sat, 28 Jun 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>calculating piece directions for a piece list (featuring GFNI)</title>
      <link>https://87flowers.com/gf2p8affineqb-piece-directions/</link>
      <description>A small trick that uses gf2p8affineqb in passing.</description>
      <category>chess</category>
      <pubDate>Mon, 16 Jun 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>accelerating incremental attack tables with vector math: part 3</title>
      <link>https://87flowers.com/byteboard-attack-tables-3/</link>
      <description>We continue optimizing vectorized mailboxes in a chess engine. We show how to incrementally update the attack tables in a vectorized manner.</description>
      <category>chess</category>
      <pubDate>Sun, 15 Jun 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>accelerating incremental attack tables with vector math: part 2</title>
      <link>https://87flowers.com/byteboard-attack-tables-2/</link>
      <description>We show how to do serialize moves from an attack table.</description>
      <category>chess</category>
      <pubDate>Tue, 10 Jun 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>accelerating incremental attack tables with vector math: part 1</title>
      <link>https://87flowers.com/byteboard-attack-tables-1/</link>
      <description>We consider a new way of thinking about mailboxes in a chess engine. Along the way, we invent a new way of calculating incremental attack tables and write the world's fastest attack table-based move generator.</description>
      <category>chess</category>
      <pubDate>Mon, 21 Apr 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>en passant</title>
      <link>https://87flowers.com/en-passant/</link>
      <description>Notes on legality checking for en passant in a chess engine.</description>
      <category>chess</category>
      <pubDate>Sun, 20 Apr 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>computer shogi resources</title>
      <link>https://87flowers.com/computer-shogi/</link>
      <description>List of links to resources that would be helpful for a computer shogi engine developer.</description>
      <category>shogi</category>
      <pubDate>Sat, 25 Jan 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>understanding unix socket cmsgs: why your examples are wrong</title>
      <link>https://87flowers.com/socket-cmsgs/</link>
      <description>Common example code on the internet for constructing cmsgs are subtly wrong! In this post I describe my current understanding of socket control messages.</description>
      <category>programming</category>
      <category>linux</category>
      <category>c</category>
      <category>zig</category>
      <pubDate>Sun, 13 Oct 2024 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>how to make your own ecl so your western blots actually work</title>
      <link>https://87flowers.com/ecl-recipe/</link>
      <description>western blots not working? commercial ecl too expensive? labmates don't store the ecl correctly? this might be your solution!
</description>
      <category>bio</category>
      <category>wetlab</category>
      <pubDate>Wed, 25 Sep 2024 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>CRTP in Rust</title>
      <link>https://87flowers.com/crtp-in-rust/</link>
      <description>Can we use the CRTP idiom in Rust?
We demonstrate how to achieve what would normally require CRTP in C++ with idiomatic Rust.
We show how Rust traits allow for static polymorphism, mix-ins, and the Barton-Nackman trick.
</description>
      <category>programming</category>
      <category>cpp</category>
      <category>rust</category>
      <pubDate>Tue, 24 Sep 2024 12:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>