{
"path": "/3mepmuhkcvk2o",
"site": "at://did:plc:73xkqje76lj5tostbsqa74b7/site.standard.publication/3me2zlma6pc25",
"tags": [
"zen",
"computing"
],
"$type": "site.standard.document",
"title": "Coding with Zen",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"id": "019c51ba-eb6b-7112-8903-e7c5bf62799d",
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 37,
"byteStart": 29
},
"features": [
{
"uri": "https://www.codewars.com/",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Recently, I tried to code on Codewars with a Zen attitude. It didn't work out, since the Koans on there are too short to be a useful Zen practice."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 80,
"byteStart": 54
},
"features": [
{
"uri": "https://wiki.libsdl.org/SDL3/CategoryVideo",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Then, I started a multimedia game practice with SDL3. The official documentation rewards slow and meticulous thinking. I wanted to use OpenGL ES 3, but I can't find a way to let SDL to specify exactly this OpenGL version. In the end, I opted for the SDL3 render module."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "After viewing the SDL3_net module, I understood that making a cross-platform game is not easy."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Even if I don't know what to do, if I fill in the details one by one, I can achieve the end goal, albeit slightly different."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Click the button below to see my work in progress:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"url": "https://tangled.org/1a-insec.net/zen-garden",
"text": "See project",
"$type": "pub.leaflet.blocks.button"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I think I need to come up with an idea first..."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "The design philosophy of Zen garden"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 46,
"byteStart": 7
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#italic"
}
]
}
],
"plaintext": "留白 (this line is intentionally left blank)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "顺势 be one with the terrain before it has become a garden"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "承扬 learn the local tradition and build on it (one such tradition is API provided by SDL)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "静心 be a place for people to escape from busy work"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "自然 asymmetry, imperfection"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "About having fun"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 71,
"byteStart": 27
},
"features": [
{
"uri": "https://youtu.be/bGsl3kvntbE?t=209",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "In the end, I learned from a talk on how to make games while having fun that the process should be fun as well!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Summary of the talk: do things that are easy and not obvious."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The Zen philosophy says: if you feel stress while doing something, you are doing it wrong."
}
}
]
}
]
},
"publishedAt": "2026-02-13T04:05:23.437Z"
}