ATProto Browser

ATProto Browser

Experimental browser for the Atmosphere

Record data

{
  "uri": "at://did:plc:hsqwcidfez66lwm3gxhfv5in/com.whtwnd.blog.entry/3l7ff4tcvff2h",
  "cid": "bafyreicbxqp4cju25fzgudvfpdjwcp3axgvfx3rtttb5wwi4jnuulakiku",
  "value": {
    "$type": "com.whtwnd.blog.entry",
    "blobs": [
      {
        "name": "Screenshot 2024-10-25 at 12.45.11 PM.png",
        "blobref": {
          "ref": {
            "code": 85,
            "version": 1,
            "hash": {
              "0": 18,
              "1": 32,
              "2": 69,
              "3": 57,
              "4": 33,
              "5": 135,
              "6": 194,
              "7": 76,
              "8": 72,
              "9": 52,
              "10": 224,
              "11": 191,
              "12": 65,
              "13": 221,
              "14": 247,
              "15": 0,
              "16": 93,
              "17": 193,
              "18": 208,
              "19": 146,
              "20": 47,
              "21": 115,
              "22": 9,
              "23": 10,
              "24": 0,
              "25": 170,
              "26": 233,
              "27": 1,
              "28": 136,
              "29": 184,
              "30": 235,
              "31": 190,
              "32": 172,
              "33": 1
            }
          },
          "size": 263875,
          "mimeType": "image/png",
          "original": {
            "$type": "blob",
            "ref": {
              "$link": "bafkreicfheqypqsmja2obp2b3x3qaxob2cjc64yjbiakv2ibrc4oxpvmae"
            },
            "mimeType": "image/png",
            "size": 263875
          }
        },
        "encoding": "image/png"
      },
      {
        "name": "Screenshot 2024-10-25 at 10.59.26 PM.png",
        "blobref": {
          "ref": {
            "code": 85,
            "version": 1,
            "hash": {
              "0": 18,
              "1": 32,
              "2": 152,
              "3": 79,
              "4": 185,
              "5": 172,
              "6": 193,
              "7": 187,
              "8": 8,
              "9": 167,
              "10": 244,
              "11": 4,
              "12": 47,
              "13": 132,
              "14": 50,
              "15": 216,
              "16": 167,
              "17": 4,
              "18": 89,
              "19": 202,
              "20": 167,
              "21": 48,
              "22": 73,
              "23": 58,
              "24": 223,
              "25": 82,
              "26": 32,
              "27": 10,
              "28": 159,
              "29": 116,
              "30": 78,
              "31": 93,
              "32": 121,
              "33": 104
            }
          },
          "size": 361509,
          "mimeType": "image/png",
          "original": {
            "$type": "blob",
            "ref": {
              "$link": "bafkreieyj642zqn3bct7ibbpqqznrjyelhfkomcjhlpveiakt52e4xlzna"
            },
            "mimeType": "image/png",
            "size": 361509
          }
        },
        "encoding": "image/png"
      },
      {
        "name": "Screenshot 2024-10-25 at 11.04.04 PM.png",
        "blobref": {
          "ref": {
            "code": 85,
            "version": 1,
            "hash": {
              "0": 18,
              "1": 32,
              "2": 237,
              "3": 160,
              "4": 62,
              "5": 43,
              "6": 171,
              "7": 26,
              "8": 75,
              "9": 228,
              "10": 55,
              "11": 92,
              "12": 4,
              "13": 208,
              "14": 26,
              "15": 40,
              "16": 65,
              "17": 239,
              "18": 224,
              "19": 134,
              "20": 151,
              "21": 30,
              "22": 50,
              "23": 236,
              "24": 228,
              "25": 214,
              "26": 203,
              "27": 249,
              "28": 92,
              "29": 33,
              "30": 198,
              "31": 250,
              "32": 143,
              "33": 214
            }
          },
          "size": 274391,
          "mimeType": "image/png",
          "original": {
            "$type": "blob",
            "ref": {
              "$link": "bafkreihnua7cxky2jpsdoxae2ancqqpp4cdjohrs5tsnns7zlqq4n6up2y"
            },
            "mimeType": "image/png",
            "size": 274391
          }
        },
        "encoding": "image/png"
      }
    ],
    "theme": "github-light",
    "title": "In which the Goose becomes a Swiftie",
    "content": "# Lessons in Swift Programming\n#### Or how I learned to enjoy code again\n\n## I have been making a game\nIt is a very silly game, based on an idea I had nearly a decade ago when I was learning processing in high school. After finding out that you could push processing programs (basically java) onto an Android phone, so naturally I RUSHED to make an app. \n\nWhat I ended up with was a goofy little game, I can't really find what I called it, where you basically drag Red, Green, and Blue color squares onto a central circle to match a target color. Groundbreaking, I know. But weirdly at the time, when I showed it to my friends, everyone got super excited. Perhaps they were just simpler times, I mean I was like 15. But then again, I think simple things have the power to be fun and bring us together.\n\n## Why I decided to make this game\nIts a funny story, but I tend to jot down little notes on my phone about ideas I have. Usually, they just go nowhere but this particular app idea sort of stuck with me for a bit. I shall refrain from revealing it in case anyone decides to steal my brilliant master plan, but its a cool idea I think. Plus, in a freak twist of (un)luck that I only barely mentioned once, unceremoniously, on Bluesky, I have recently become unemployed, so I have a lot of free time to scheme up new ways to stop hemmhoraging money every day. The only problem was that .... I have literally no idea of how to build an app. \n\nNaturally, I went on the Hacking with Swift blog, and through Apple's developer tutorials for a bit, but it feels weird to just be making these goofy weather apps and like todo lists. Why is every front end tutorial a todo list, I don't even like todo lists. \n\nAs I was working my way through these tutorials, having a lot of fun, I randomly remembered my old android game, the one that everyone in my high school CS class thought was a stroke of literal genius. Surely, hooking up three buttons to a middle bit and mixing the colors together wouldn't be that hard? \n\n## It was hard, and that is good\n\nI think for quite some time, likely since I graduated college, I have hardly done anything that I find especially challenging. Not neccessarily on purpose, but I think the few opportunities to do harder stuff, I have shied away from for one reason or another, maybe fear of failure, maybe just ADHD calling me to do something else. This game however, has been extremely annoying. \n\nFor one, SwiftUI is super weird. I have a pretty good grasp of HTML and stuff but avoided modern JS frameworks like the plague because they have a bunch of rules you need to remember, and SwiftUI is like that, but with goofy syntax that involves a lot of colons. Somehow, though, I find it very satisfying working on my own thing. It is a very dumb little app, and yet it feels like I am running a construction project all my own. Like a little scrapbook game, I suffer and grind away to make the most minute changes, and then marvel at them by myself, knowing that no one will probably ever notice or care that it took me 6 hours to get the State management just the way I wanted it. \n\n## Big plans\n\nI know at the beginning I mentioned that I have some big mega plan for a killer app, and that will definitely be coming out of Goose Development Studios (not affiliated with Seattle Real Estate Moguls Goose Development) soon. For now, though I have some fun plans for the app. Different game modes, more social features, I am hooked. I am hoping that at some point it reaches a feeling of \"doneness\" and I simply retire working on it, but I am nowhere close to that point. Plus, there is still one pain in the butt bug which is holding me back from releasing it on the main app store. I think once it is done I will sell it for 2 dollarinos. The old way of selling apps, like a standalone thing you pay for and never need to pay to upgrade or maintain your ownership. I anticipate making maybe like $50.\n\n## uhh the app\n\nAnyways, if you read the whole thing, thats honestly pretty impressive since it was mostly just a ramble, so here are some screenshots of the game:\n\n![scorehistory](https://porcini.us-east.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did%3Aplc%3Ahsqwcidfez66lwm3gxhfv5in&cid=bafkreicfheqypqsmja2obp2b3x3qaxob2cjc64yjbiakv2ibrc4oxpvmae)\n![rainbowgradient](https://porcini.us-east.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did%3Aplc%3Ahsqwcidfez66lwm3gxhfv5in&cid=bafkreieyj642zqn3bct7ibbpqqznrjyelhfkomcjhlpveiakt52e4xlzna)\n![homescreen](https://porcini.us-east.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did%3Aplc%3Ahsqwcidfez66lwm3gxhfv5in&cid=bafkreihnua7cxky2jpsdoxae2ancqqpp4cdjohrs5tsnns7zlqq4n6up2y)\n\nIf you feel somehow compelled to try it out, this is the TestFlight link, it is limited to 20 people because I hope to eventually profit off of this endeavor and don't want too many people running around with a free copy.\n\n[the TESTFLIGHT LINK](https://testflight.apple.com/join/vrE3dzWb)\n\nPlease feel free to suggest all your wildest ideas and tell me about the bugs I definitely already know about because I spend all my time playing with this game. Also as a random aside, the Apple \"App Store Connect\" page and distribution system is actually insanely bad and the fact they charge you 100 dollarinos per year to publish a game is in fact, not so chill! I am hoping the EU just absolutely shits on them for that and we in the US eventually god willing get third party app stores so I can spit in Apple's face by selling on Cydia or something.\n\nIf you install it, hit the gear icon and read my how to play guide. I put a lot of work into it but think no one will ever read it haha.\n\nLove, 🪿",
    "createdAt": "2024-10-26T06:05:24.358Z",
    "visibility": "public"
  }
}