Philosophical Hacker
TalksRxJava O'Reilly BookNotes
  • How and When to Control for Confounders During Product Usage Analyses

    2021-06-12

    Note: This post was originally published on heap’s blog We all know that correlation isn’t causation, but when we’re assessing the impact of a feature we’ve just shipped or searching for an “aha moment” that leads to better retention, it’s easy to forget this. It’s tempting to look at the increased conversion rates of users who did X versus users who didn’t, and conclude that our feature is working or that we’ve found the “aha moment.…

    statisticsanalytics

  • Maybe you should build a faster horse

    2021-04-09

    Building features no one uses is the cardinal sin of product work, and building features merely because users are asking for them is a well-known way of committing it. To keep us from falling into this trap, product leaders often quote Steve Jobs: I think Henry Ford once said, “If I’d asked customers what they wanted, they would have told me, ‘A faster horse!’” People don’t know what they want until you show it to them.…

    product managementstrategy

  • Building Better Code Review at Heap

    2021-03-20

    Note: This post was originally published on heap’s blog Heap — like most companies — has a code review (CR) process. Until recently, that process often involved manually catching trivial issues in PRs (Pull Requests), which led to slow, inconsistent, and low-quality PR comments. To address this, we adopted Prettier, Danger, some custom StyleLint rules, and a Buildkite step that automatically adds specific checklists to PRs depending on which files are changed in our monorepo.…

    programmingci

  • Exposing Imposter User Stories

    2021-02-12

    The law of raspberry jam — the more it spreads, the thinner it gets — definitely applies to “agile software development.” “Agile” is ubiquitous and nearly meaningless at the same time. You don’t learn much about how a company actually operates from hearing that it’s “agile.” This isn’t a new claim, and it shouldn’t be controversial. OG agile manifesto signatories and prominent programmers have pointed this out already: I was among the seventeen middle-aged white guys who gathered at Snowbird, Utah.…

    agileproject management

  • When should we create abstractions instead of duplication?

    2020-11-14

    Because abstractions aren’t free, sometimes we’re better off duplicating code instead of creating them. If that claim doesn’t make sense to you, read Martin Fowler’s “YAGNI” or Sandi Metz’s “The Wrong Abstraction” or watch Dan Abramov’s “WET Code” talk or Kent C. Dodd’s “AHA Programming” talk. Each of these programmers give advice on when to duplicate code vs. create an abstraction, advice that broadly falls into two camps: either we are advised to follow some rule of thumb or we’re told to ignore rules of thumb, trust our feelings and to only introduce abstractions when it “feels right.…

    programming

  • Programming and Forecasting

    2020-10-19

    Good programmers are good at forecasting. They can often predict roughly how long it’ll take to accomplish a particular programming task. They can also predict when and to what extent a project will see ROI from a particular technical investment. Unfortunately, this skill isn’t guaranteed to develop as we gain more experience programming. In Superforecasters, the authors note that many experienced people are surprisingly bad at making forecasts and that time and experience often don’t make us any better.…

    programmingproject managementarchitecture

  • Why Mobile IDEs Are Bad

    2020-09-23

    An old coworker of mine (who is still an android dev) asked me a question earlier today: Why has it become acceptable in our industry to have tools that are such poor quality? He was referring to Android Studio, but we could ask the same question about Xcode, which is also bad: Was it really all that unexpected? pic.twitter.com/QU7GPbOhu0 — Code Standards (@codestandards) February 23, 2017 I mean no offense to the teams working on these products.…

  • Avatar The Last Airbender Language Model and Text Generation

    2020-08-15

    This week’s TidyTuesday data set is basically the script for all of the Avatar: The Last Airbender episodes. I thought it’d be neat to build a language model from the script and use it to generate new sentences that plausibly sound like they belong in the Avatar universe. In this post, I’ll quickly present some of the sentences generated from the model, and then I’ll dive into how I obtained those results.…

    rkerasnlp

  • A Tidy Analysis of Astronauts and Their Missions

    2020-07-21

    Introduction I live in Orlando Florida, which is less than an hour away from Cape Canaveral. As you might imagine, visiting the space center and watching launches is a “thing” we Orlando folks do fairly often. I’ve also been getting into R and data science recently via Garrett Grolemund and Hadley Wickham’s excellent R for Data Science. To apply the things I’m learning, I thought it’d be fun to analyze this week’s Tidy Tuesday astronauts dataset.…

    data sciencer

  • Analyzing Traffic Fatalities by Vehicle Weight and Size with Tidyverse

    2020-07-03

    I bought a car recently. I’m cheap and practical and I’m going to be a father soon, so the only things I really cared about were: will the car keep my wife and child safe if they’re in an accident will the car keep running reliably how do I get 👆 those two things on the cheap I’ve also been getting into machine learning and data science recently, so I thought it’d be useful to answer them using some data science tools.…

    statisticsdata science

  • 1
  • 2
  • 3
  • 4
  • 5

© 2025 Matt Dupree