Four short links: 15 July 2020

Being a Good Programmer, Algorithms I Use, Verifiable Data Structures, and Audio Spy Detector

By Nat Torkington
July 15, 2020
Four Short Links
  1. Fixing Bugs ProperlyWhy did a fix that seems so simple when looking at the changes made take two days to complete? Good programmers leave things better than they found them.
  2. Data Structures and Algorithms I Actually UseThis article is a set of real-world examples where data structures like trees, graphs, and various algorithms were used in production. It’s good to see them used outside interviews.
  3. Learn faster. Dig deeper. See farther.

    Join the O'Reilly online learning platform. Get a free trial today and find answers on the fly, or master something new and useful.

    Learn more
  4. TrillianTrillian implements a Merkle tree [cryptographically-verified tree] whose contents are served from a data storage layer, to allow scalability to extremely large trees. On top of this Merkle tree, Trillian provides two modes: An append-only Log mode […], An experimental Map mode that allows transparent storage of arbitrary key:value pairs derived from the contents of a source Log.
  5. LeakyPick: IoT Audio Spy DetectorOur proof-of-concept is a LeakyPick device that is placed in a user’s smart home and periodically “probes” other devices in its environment and monitors the subsequent network traffic for statistical patterns that indicate audio transmission. Our prototype is built on a Raspberry Pi for less than USD40 and has a measurement accuracy of 94% in detecting audio transmissions for a collection of 8 devices with voice assistant capabilities. Furthermore, we used LeakyPick to identify 89 words that an Amazon Echo Dot misinterprets as its wake-word, resulting in unexpected audio transmission.
Post topics: Four Short Links
Post tags: Signals