Posts

A Tale of Six States: Flexible data extraction with scraping and browser automation

Exploring how Playwright's headless browser automation (and its friends) can help unite the states’ data

Embedding column-name contracts in data pipelines with dbt

dbt supercharges SQL with Jinja templating, macros, and testing – all of which can be customized to enforce controlled vocabularies and their implied contracts on a data model

Causal design patterns for data analysts

An informal primer to causal analysis designs and data structures

Resource Round-Up: Causal Inference

Free books, lectures, blogs, papers, and more for a causal inference crash course

Building a team of internal R packages

On the jobs-to-be-done and design principles for internal tools

Generating SQL with {dbplyr} and sqlfluff

Using the tidyverse’s expressive data wrangling vocabulary as a preprocessor for elegant SQL scripts

Introducing the {convo} package

An R package for maintaining controlled vocabularies to encode contracts between data producers and consumers

Sticker-driven maintenance

Marketing maintenance work with irrational exuberance

crosstalk: Dynamic filtering for R Markdown

An introduction to browser-based interactivity of htmlwidgets – no Shiny server required!

Column Names as Contracts

Using controlled dictionaries for low-touch documentation, validation, and usability of tabular data