Skip to content

Instantly share code, notes, and snippets.

View dcramer's full-sized avatar
💭
I may be slow to respond.

David Cramer dcramer

💭
I may be slow to respond.
View GitHub Profile
@dcramer
dcramer / email.md
Last active January 16, 2026 11:29
AI Adoption at Sentry

2026 is the year that we are asking everyone to get comfortable with using LLMs in their daily workflows. I want to talk about why that matters, what it looks like at Sentry, and how we're thinking about adoption.

If you haven't been paying attention LLMs have gotten to the point where they're actually quite powerful for a lot of tasks. They're by no means a cheap solution to many problems, but in a lot of situations we're optimizing for getting more done vs doing things the cheapest way possible. Think of this as Venture vs Private Equity: we're on the Venture side of the world, and we invest in growth. While my experience is primarily in using LLMs for engineering tasks, the same principles apply to other domains. I will focus on that for the sake of this conversation, but the message rings true for every department and every role.

You may know this already, but my role at Sentry is not contributing code; I do it because I enjoy it and it's really a core reason I'm even in this industry. It's the reason I

@dcramer
dcramer / readme.md
Created May 28, 2025 00:00
Drizzle vitest

vitest ✕ drizzle test-db plugin — mini-prd

tl;dr

ship an oss add-on that:

  1. spins up a fresh test db (or schema) on first run.
  2. reuses it if current drizzle schema hash hasn’t changed.
  3. wraps every spec in a savepoint + rollback by default (== super fast).
  4. lets any spec flip to “real tx, then truncate” via a tiny ctx flag.
@dcramer
dcramer / remix.md
Last active June 14, 2023 16:22
Running Remix Problems

Remix Issues

Transaction Names

useMatches only exposes the filepath, but we want a parameterized route:

8:53:24 AM web.1 |  {
8:53:24 AM web.1 |    id: 'routes/bottles.$bottleId._index',
8:53:24 AM web.1 |    pathname: '/bottles/4/',
blueprint:
name: ZHA - Sonoff SNZB-01
description: 'Perform actions with the Sonoff SNZB-01 Button.
You can set functions for single press, double press and hold. This allows you to assign,
e.g., a scene or anything else.'
domain: automation
input:
remote:
apiVersion: networking.gke.io/v1beta1
kind: ManagedCertificate
metadata:
name: zeus-ci
spec:
domains:
- zeus.ci
- updates.zeus.ci
---
apiVersion: extensions/v1beta1
# get some languages
brew 'go'
brew 'node'
brew 'python'
brew 'ruby'
# and common dlls
brew 'geoip'
brew 'libxmlsec1'
brew 'openssl'
@dcramer
dcramer / .zshrc
Last active April 5, 2021 20:37
zsh
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
source <(antibody init)
antibody bundle < ~/.config/zsh_plugins
# TODO(dcramer): literally doesnt work at all
# function update_antibody() {
# antibody bundle < ~/.config/zsh_plugins > ~/.config/zsh_plugins.sh
# }
{
"extra": {...},
"contexts": {
"contxtName": {...},
}
}
@dcramer
dcramer / cramermath.py
Created March 29, 2019 00:21 — forked from mattrobenolt/cramermath.py
David Cramer math
"""
cramermath
~~~~~~~~~~
Usage:
>>> import cramermath
>>> cramermath.log(10)
0.014728067495500818
"""
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuJUzqmnQCHvvgqJgAxew3qqrJtNQp3Ap1T0Bu4LFSLJ1ysSOFkC0v1eCmmNrLvUf7WYRmDBDC0aH8pxKFjE1CFZqolJFlp469aVaOcsqP3dfERGuWZ2zXokZjZr88CDmja7QVQ1l9gevnftHxy9rgov2mNdRqpJZpNcgct+0JvyFeJKhaCcyX2nYK5G0qe8FDub1azT3E/Ey3g/NvNzbmyqjDdIEU5hJo5J2uDGq26gXrudzJ/iARl7vJrvn160VNIn+tUvsejyc8UuqwIxu/4GVzKRcENJJUOg0GYhkIss7++ZbvvnINxbDi9wCgf8C5IQ4MD6Pp6dlvdihov6Np dcramer@MacBook-Pro-4.local