ATProto Browser

ATProto Browser

Experimental browser for the Atmosphere

Post

2️⃣ <Programming> paper on schema change How do you keep data <-> schema <-> code all in sync? I'm particularly keen on the way of presenting the challenges as diagrams that we came up with. tomasp.net/academic/pap... cc @jonathoda.bsky.social @geoffreylitt.com

Feb 11, 2025, 10:07 PM

Record data

{
  "uri": "at://did:plc:hq34kh7mx5ku3bldoiriijht/app.bsky.feed.post/3lhwoacmf4c2j",
  "cid": "bafyreigc4b47q45wqepayc26w2vmzxa5c6lqicvj5tcjxwre27qdckzj6u",
  "value": {
    "text": "2️⃣ <Programming> paper on schema change\n\nHow do you keep data <-> schema <-> code all in sync? I'm particularly keen on the way of presenting the challenges as diagrams that we came up with.\n\ntomasp.net/academic/pap...  cc @jonathoda.bsky.social @geoffreylitt.com",
    "$type": "app.bsky.feed.post",
    "embed": {
      "$type": "app.bsky.embed.external",
      "external": {
        "uri": "https://tomasp.net/academic/papers/schema/",
        "title": "Schema Evolution in Interactive Programming Systems",
        "description": "Many improvements to programming came from tighter feedback loops, but making a\nprogram change that involves changing the schema (or type) of program is difficult -- you\nhave to manually update code a..."
      }
    },
    "langs": [
      "en"
    ],
    "reply": {
      "root": {
        "cid": "bafyreihyu5v7bicm6ouduiulpvehtwxajgnb325m3ya467cyz7wdbkgap4",
        "uri": "at://did:plc:hq34kh7mx5ku3bldoiriijht/app.bsky.feed.post/3lhwnpyimoc25"
      },
      "parent": {
        "cid": "bafyreig5va2hxpcgkzstpm3ml2tparf7lma67j54azuzu5uts72yt7m5ay",
        "uri": "at://did:plc:hq34kh7mx5ku3bldoiriijht/app.bsky.feed.post/3lhwnyfcigs2j"
      }
    },
    "facets": [
      {
        "index": {
          "byteEnd": 223,
          "byteStart": 197
        },
        "features": [
          {
            "uri": "https://tomasp.net/academic/papers/schema/",
            "$type": "app.bsky.richtext.facet#link"
          }
        ]
      },
      {
        "$type": "app.bsky.richtext.facet",
        "index": {
          "byteEnd": 250,
          "byteStart": 228
        },
        "features": [
          {
            "did": "did:plc:756bpc3blcpha4j4iwpj5ga3",
            "$type": "app.bsky.richtext.facet#mention"
          }
        ]
      },
      {
        "$type": "app.bsky.richtext.facet",
        "index": {
          "byteEnd": 268,
          "byteStart": 251
        },
        "features": [
          {
            "did": "did:plc:f2nh2a5ldz4rwzti6upqeidj",
            "$type": "app.bsky.richtext.facet#mention"
          }
        ]
      }
    ],
    "createdAt": "2025-02-11T22:07:21.341Z"
  }
}