Skip to content

Instantly share code, notes, and snippets.

View saulshanabrook's full-sized avatar
🏊

Saul Shanabrook saulshanabrook

🏊
View GitHub Profile
@saulshanabrook
saulshanabrook / wage.csv
Created April 9, 2026 19:14
US Wage Data 2021
Sex Race and ethnicity Median Earnings (USD) Occupation Group
Men All 61199 All Groups
Women All 51216 All Groups
Men Asian 81833 All Groups
Women Asian 63753 All Groups
Men Black 50115 All Groups
Women Black 46516 All Groups
Men Hispanic 45769 All Groups
Women Hispanic 39481 All Groups
Men White, not Hispanic 69706 All Groups
@saulshanabrook
saulshanabrook / Natality, 2016-2024 expanded (1).csv
Created April 7, 2026 17:38
Recorded from https://wonder.cdc.gov/controller/datarequest/D149;jsessionid=3BDFB168877A6F48BDAAC0516AA1 grouped by mother county of residence and month and filtered to a few states
Notes County of Residence County of Residence Code Month Month Code Births
Alameda County, CA 06001 January 1 1244
Alameda County, CA 06001 February 2 1210
Alameda County, CA 06001 March 3 1364
Alameda County, CA 06001 April 4 1272
Alameda County, CA 06001 May 5 1387
Alameda County, CA 06001 June 6 1298
Alameda County, CA 06001 July 7 1412
Alameda County, CA 06001 August 8 1364
Alameda County, CA 06001 September 9 1358
$ cat ~/.codex/skills/scientific-method-debugging/agents/openai.yaml
interface:
display_name: "Scientific Method Debugging"
short_description: "Falsifiable debugging loop"
default_prompt: "Use $scientific-method-debugging to investigate this bug with observation, competing hypotheses, falsifiable probes, and regression-checked fixes."
$ cat ~/.codex/skills/scientific-method-debugging/SKILL.md
---
name: scientific-method-debugging
description: Run an evidence-first scientific debugging loop for debugging, performance analysis, semantic drift, or codebase comparisons. Use when a user wants claims backed by actual runs, when multiple plausible causes exist, when a bug needs to be shrunk to the smallest repro, or when fixes should be accepted only if they flip the target case without regressing a known comparison set.
---
city,month,month_num,temp_low,temp_high,precip_days,precip_inches,sunshine_hours,latitude,longitude
Seattle,Jan,0,37,47,18,5.55,69,47.608013,-122.335167
Seattle,Feb,1,37,50,14,3.46,108,47.608013,-122.335167
Seattle,Mar,2,39,54,16,3.7,178,47.608013,-122.335167
Seattle,Apr,3,42,58,14,2.68,207,47.608013,-122.335167
Seattle,May,4,47,65,12,1.93,253,47.608013,-122.335167
Seattle,Jun,5,52,70,9,1.54,268,47.608013,-122.335167
Seattle,Jul,6,56,76,5,0.67,312,47.608013,-122.335167
Seattle,Aug,7,56,76,4,0.87,281,47.608013,-122.335167
Seattle,Sep,8,52,71,7,1.42,221,47.608013,-122.335167
(sort egglog.exp.array_api.RecursiveValue)
(sort egglog.exp.array_api.NDArray)
(constructor egglog_exp_array_api_NDArray_to_recursive_value (egglog.exp.array_api.NDArray) egglog.exp.array_api.RecursiveValue)
(constructor egglog_exp_array_api_vecdot (egglog.exp.array_api.NDArray egglog.exp.array_api.NDArray) egglog.exp.array_api.NDArray :unextractable)
(constructor egglog_exp_array_api_NDArray___init__ (egglog.exp.array_api.RecursiveValue) egglog.exp.array_api.NDArray)
(sort egglog.builtins.Vec[egglog.exp.array_api.RecursiveValue] (Vec egglog.exp.array_api.RecursiveValue))
(constructor egglog_exp_array_api_RecursiveValue_vec (egglog.builtins.Vec[egglog.exp.array_api.RecursiveValue]) egglog.exp.array_api.RecursiveValue)
(sort egglog.exp.array_api.Value)
(constructor egglog_exp_array_api_RecursiveValue___init__ (egglog.exp.array_api.Value) egglog.exp.array_api.RecursiveValue)
(sort egglog.exp.array_api.Int)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Array_of_GenericCommand",
"type": "array",
"items": {
"$ref": "#/$defs/GenericCommand"
},
"$defs": {
"GenericCommand": {
"description": "A [`Command`] is the top-level construct in egglog.\nIt includes defining rules, declaring functions,\nadding to tables, and running rules (via a [`Schedule`]).",
diff --git a/src/mlir_egglog/jit_engine.py b/src/mlir_egglog/jit_engine.py
index de9ac2f..e3b3aa0 100644
--- a/src/mlir_egglog/jit_engine.py
+++ b/src/mlir_egglog/jit_engine.py
@@ -10,7 +10,6 @@ from egglog import RewriteOrRule, Ruleset
import llvmlite.binding as llvm
from mlir_egglog.llvm_runtime import (
- create_execution_engine,
init_llvm,
$ pytest -vvv tests
==================================================================================================================== test session starts =====================================================================================================================
platform darwin -- Python 3.12.3, pytest-8.3.5, pluggy-1.5.0 -- /usr/local/Caskroom/miniconda/base/envs/mlir-egglog/bin/python3.12
cachedir: .pytest_cache
rootdir: /Users/saul/p/mlir-egglog
configfile: pyproject.toml
collected 15 items
tests/test_basic_expressions.py::TestBasicExpressions::test_arithmetic_expression PASSED [ 6%]
tests/test_basic_expressions.py::TestBasicExpressions::test_constants_and_sqrt PASSED [ 13%]

UV Run

$ uv run pytest -x tests
==================================================================================== test session starts ====================================================================================
platform darwin -- Python 3.12.5, pytest-8.3.5, pluggy-1.5.0
rootdir: /Users/saul/p/mlir-egglog
configfile: pyproject.toml
collected 15 items                                                                                                                                                                          
$ git diff
diff --git a/src/mlir_egglog/mlir_backend.py b/src/mlir_egglog/mlir_backend.py
index 6ab6867..91f3f53 100644
--- a/src/mlir_egglog/mlir_backend.py
+++ b/src/mlir_egglog/mlir_backend.py
@@ -49,6 +49,7 @@ COMMON_INITIAL_OPTIONS = (
"-convert-vector-to-scf",
"-convert-linalg-to-loops",
"-lower-affine",
+ "--convert-arith-to-llvm",