corpus.blog
Most cited
Talked about
Blogs
56,966 blogs · [ { "id": "01a087dc-1565-734e-bb00-cd45ff215b3e", "title": "RDF on RDF: RDF Schema", "url": "https://sawyer.dev/posts/rdf-rdfs/", "published_at": "2026-05-19T13:00:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcaf5b790", "title": "My first knowledge graph", "url": "https://sawyer.dev/posts/rdf-intro/", "published_at": "2026-05-05T15:30:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcb557849", "title": "Partial review: Language Implementation Patterns", "url": "https://sawyer.dev/posts/review-lang-impl-patterns/", "published_at": "2026-04-13T17:30:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcbc9d19c", "title": "RC3 syllabus", "url": "https://sawyer.dev/posts/rc3-syllabus/", "published_at": "2026-04-06T12:35:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcc2cedc7", "title": "My practitioner view of program analysis", "url": "https://sawyer.dev/posts/practitioner-program-analysis/", "published_at": "2026-03-27T03:00:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcc679281", "title": "2025/2026", "url": "https://sawyer.dev/posts/2025-review/", "published_at": "2025-12-31T11:30:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcd22df8d", "title": "Writing a Tree-Sitter Grammar", "url": "https://sawyer.dev/posts/tree-sitter-asdl/", "published_at": "2025-12-21T11:30:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcd739bf4", "title": "My Daily Frog", "url": "https://sawyer.dev/posts/my-daily-frog/", "published_at": "2025-01-14T11:00:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcd803b71", "title": "Making Some Progress on My RSS Reader", "url": "https://sawyer.dev/posts/rss-reader-progress/", "published_at": "2024-11-22T15:20:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcda09133", "title": "My Newbie Rust Style Guide and Other Resources", "url": "https://sawyer.dev/posts/newbie-rust-style/", "published_at": "2024-11-08T09:00:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffce87791f", "title": "Tracking Function Calls in Python with Deride", "url": "https://sawyer.dev/posts/deride/", "published_at": "2023-12-19T11:30:00+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffcf7d37f8", "title": "A web app in OCaml follow-up: sessions and deployment", "url": "https://sawyer.dev/posts/pomocaml-2/", "published_at": "2023-08-24T10:15:10+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd0509beb", "title": "A Web App in OCaml with Dream and TyXML", "url": "https://sawyer.dev/posts/pomocaml/", "published_at": "2023-08-07T19:42:10+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd0893a14", "title": "Data Pipelines with ClickHouse, dbt, and Superset", "url": "https://sawyer.dev/posts/superset-clickhouse-dbt/", "published_at": "2023-07-12T21:03:10+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd16dc742", "title": "First Steps with OCaml", "url": "https://sawyer.dev/posts/first-steps-ocaml/", "published_at": "2023-06-11T11:26:10+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd2093af0", "title": "Writing a Dropbox Cli in Python with Click", "url": "https://sawyer.dev/posts/dropbox-cli-python/", "published_at": "2023-04-13T09:47:10+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd23b432c", "title": "Generating SQL from Python", "url": "https://sawyer.dev/posts/python-to-sql/", "published_at": "2023-03-09T09:24:56+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd316f357", "title": "Type Theory Resources for the Layprogrammer", "url": "https://sawyer.dev/posts/type-theory-resources/", "published_at": "2022-04-02T13:05:43+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd35e25ce", "title": "Listening to Music", "url": "https://sawyer.dev/posts/listening-to-music/", "published_at": "2020-05-20T16:42:27+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd43e908b", "title": "Interviews I've Gone and Done", "url": "https://sawyer.dev/posts/interviews-ive-done/", "published_at": "2019-09-09T21:41:51+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd4e651cd", "title": "Another Tangent: Trying to Make a Theremin", "url": "https://sawyer.dev/posts/theremini/", "published_at": "2018-05-04T10:34:42+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd526082f", "title": "Decoding MP3s, Volume 3: I Think I've Got What I Need", "url": "https://sawyer.dev/posts/decoding-mp3-3/", "published_at": "2018-04-25T10:10:52+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd5642d2e", "title": "Decoding MP3s, Volume 2: A Portrait of the Audio as a Compressed Bit Stream", "url": "https://sawyer.dev/posts/decoding-mp3-2/", "published_at": "2018-04-11T22:08:45+00:00" }, { "id": "01a087dc-1566-722d-b0c0-6cffd58eaf32", "title": "Decoding MP3s, Volume 1: I Guess I'm Decoding MP3s Now", "url": "https://sawyer.dev/posts/decoding-mp3-1/", "published_at": "2018-04-10T23:31:19+00:00" } ] posts
Claim your blog
Back to sawyer.dev
Blog · corpus.blog/blogs/sawyer.dev/posts
sawyer.dev
sawyer.dev
2026
RDF on RDF: RDF Schema
original ↗
19 May 2026
My first knowledge graph
original ↗
5 May 2026
Partial review: Language Implementation Patterns
original ↗
13 Apr 2026
RC3 syllabus
original ↗
6 Apr 2026
My practitioner view of program analysis
original ↗
27 Mar 2026
2025
2025/2026
original ↗
31 Dec 2025
Writing a Tree-Sitter Grammar
original ↗
21 Dec 2025
My Daily Frog
original ↗
14 Jan 2025
2024
Making Some Progress on My RSS Reader
original ↗
22 Nov 2024
My Newbie Rust Style Guide and Other Resources
original ↗
8 Nov 2024
2023
Tracking Function Calls in Python with Deride
original ↗
19 Dec 2023
A web app in OCaml follow-up: sessions and deployment
original ↗
24 Aug 2023
A Web App in OCaml with Dream and TyXML
original ↗
7 Aug 2023
Data Pipelines with ClickHouse, dbt, and Superset
original ↗
12 Jul 2023
First Steps with OCaml
original ↗
11 Jun 2023
Writing a Dropbox Cli in Python with Click
original ↗
13 Apr 2023
Generating SQL from Python
original ↗
9 Mar 2023
2022
Type Theory Resources for the Layprogrammer
original ↗
2 Apr 2022
2020
Listening to Music
original ↗
20 May 2020
2019
Interviews I've Gone and Done
original ↗
9 Sept 2019
2018
Another Tangent: Trying to Make a Theremin
original ↗
4 May 2018
Decoding MP3s, Volume 3: I Think I've Got What I Need
original ↗
25 Apr 2018
Decoding MP3s, Volume 2: A Portrait of the Audio as a Compressed Bit Stream
original ↗
11 Apr 2018
Decoding MP3s, Volume 1: I Guess I'm Decoding MP3s Now
original ↗
10 Apr 2018