41554 blogs · [
{
"id": "01a087ac-deb0-731e-828f-1cfe27436f8c",
"title": "Implementing a Custom Query Language with Python and Apache Spark",
"url": "https://nchammas.com/writing/custom-query-language-implementation",
"published_at": "2026-06-08T00:00:00+00:00"
},
{
"id": "01a087ac-deb0-731e-828f-1cfe27cb27fd",
"title": "Designing a Custom Query Language for Non-Technical Analysts",
"url": "https://nchammas.com/writing/custom-query-language-design",
"published_at": "2026-05-11T00:00:00+00:00"
},
{
"id": "01a087ac-deb0-731e-828f-1cfe283f082f",
"title": "A Query Language is also a Data Constraint Language",
"url": "https://nchammas.com/writing/query-language-constraint-language",
"published_at": "2021-10-27T00:00:00+00:00"
},
{
"id": "01a087ac-deb0-731e-828f-1cfe29322e91",
"title": "A Data Pipeline is a Materialized View",
"url": "https://nchammas.com/writing/data-pipeline-materialized-view",
"published_at": "2021-01-23T00:00:00+00:00"
},
{
"id": "01a087ac-deb0-731e-828f-1cfe29e781aa",
"title": "Thoughts on States vs. Transitions",
"url": "https://nchammas.com/writing/states-vs-transitions",
"published_at": "2020-09-27T00:00:00+00:00"
},
{
"id": "01a087ac-deb0-731e-828f-1cfe2a680588",
"title": "The Modern Data Lake is a Database",
"url": "https://nchammas.com/writing/modern-data-lake-database",
"published_at": "2020-05-10T00:00:00+00:00"
},
{
"id": "01a087ac-deb0-731e-828f-1cfe2b5a2cbf",
"title": "Postgres and Redshift: Why use both?",
"url": "https://nchammas.com/writing/database-access-patterns",
"published_at": "2020-03-28T00:00:00+00:00"
},
{
"id": "01a087ac-deb0-731e-828f-1cfe2b8f7cb4",
"title": "Solving the Water Jug Problem from Die Hard 3 with TLA+ and Hypothesis",
"url": "https://nchammas.com/writing/how-not-to-die-hard-with-hypothesis",
"published_at": "2017-03-28T00:00:00+00:00"
}
] posts Claim your blog