All Posts

Links #1: Data Stories and Mental Models

This is a recap of some things I clicked on recently, grouped by theme and with light commentary.

Machine Learning - Accessibility

Data Visualization

  • Visualizing Ranges Over Time on Mobile Phones - Usability research on whether people found radial vs linear bar chart layouts more useful when viewing a variety of datasets on mobile devices - from Microsoft Research
  • - Minimalist, spacious, and information dense UI for tracking cryptocurrency prices.
    • Includes candlestick charts, win/loss, minimaps, crosshairs, margin labels, configurable overlays, annotations
  • Why Data Visualization Needs a Play Button - Flourish, a tool designed for journalists to make interactive data visualizations, lets you make audio + animation driven stories without writing any code (they call them “Talkies”).
  • Yelp: Tasted like X: Spark histograms + sample phrases from an analysis of Yelp reviews where people described food in terms of some other flavor. Flavors are organized by positivity.

Data Stories


  • Interface for livecoding visuals collaboratively: Hydra - (h/t Mark H.)
  • Livecode.NYC: New York’s livecoding community, hosted a workshop on Supercollider + realtime sound synthesis

UX Design

  • Laws of UX - 19 guidelines alongside minimalist posters and links to further readings, mostly grounded in psychology or visual perception research
  • How White Space Killed an Enterprise App - Finding the right balance between legibility and information density

Engineering Process

Mental Models and Code

  • Programming as Translation - When we accept that a translation will not say the exact same thing as the original, we can have productive conversations about making appropriate + clear tradeoffs. (h/t Camilo)

  • Effective Mental Models for Code and Systems - When tackling a new codebase, having a solid mental model of the “Error Kernel” is extremely important.

    The quality of code is judged not by its initial authors but by the future readers and debuggers of the code, since the onus to reconstruct the mental model under which the code was authored falls squarely on the reader of the code.

  • Related: Farnam Street Blog’s Mental Models

  • Charlie Munger’s Poor Charlie’s Almanack (h/t Kirk K.)

  • Metaphors we Code By + video h/t Camilo - Metaphors enable certain ways of thinking while restricting others. These restrictions help to keep cognitive load manageable, but we must be careful to not mistake the map for the territory.

Software Engineering Tools

  • Git History - A friendly GUI for watching how files change over time. Pair with git bisect to diagnose when a feature you care about in a foreign codebase changes unexpectedly.
  • Chrome Devtools Advent Calendar - There’s something new to be learned in all 24 of these posts, the series concluded in December.


  • Every Chicken Soup for the Soul Book - Data + analysis about the motivational book series that just kept growing - includes thumbnails!
  • Why do we undervalue competent management - Findings from a study of 12,000+ organizations in 34 countries, highlights the values of emphasizing training operational management skills despite what business schools are currently teaching
  • Interview: Natural Machines - Dan Tepfer is an accomplishied pianist, physicist, and computer science, who has written an algorithm that accompanies him in real-time as he improvises on the piano (h/t Yang)

I think this roundup is on the longer side, I will aim to release these weekly to keep each edition shorter.