🌫️ Grant Forrest

🌫️ Grant Forrest

@gfor.rest

"God is the garden I tend to believe" Design systems, cooking, theology, clouds, art

587 followers766 following1.4K posts

Pinned

I post about stuff I feel strongly about. Lately that is, roughly in order, cooking the web, local-first politics, society religion (non-toxic) my cat Sometimes I feel these topics don't overlap well, but they're all a part of who I am in some way.

The only thing I know about the Cheesecake Factory is that all their entrees are made from scratch in-house, and that this mundane fact made enough of an impression on me that it still stands out as an example of "every once in a while you should learn something that challenges your priors."

I have logged on to work every day and there has been a new vulnerability disclosure requiring major tech debt pay down and multiple people's time which was planned for doing actual product stuff. That's the landscape in which people are complaining that companies turn to AI to help.

On the one hand it has the shape of a shakedown. On the other hand, that puts us in the victim's position, doesn't it? As things stand, we either catch up to all this mess or we throw away all product work for the quarter, or maybe forever if this keeps going.

Jumping back into vibe-coding a Pebble watchface. I feel that little low-stakes projects like this really shine when letting go of the technical aspects. Pebble is still getting their ecosystem back together after large changes, and I can bypass a lot of that friction.

View full thread

Many of the hurdles aren't just knowledge, they're lapsed maintenance. If I were motivated enough, I imagine my efforts would help restore some of that scaffolding for everyone. It would also take a lot of my time, which is very scarce. Is my use of LLMs selfish? Is that ok?

Increasingly as I experiment with going agent-first, these questions come up. On the one hand, I am making things I would never have gotten to without it. On the other, I haven't made a single human connection while doing so. That's something I'm going to need to consider more carefully.

Jumping back into vibe-coding a Pebble watchface. I feel that little low-stakes projects like this really shine when letting go of the technical aspects. Pebble is still getting their ecosystem back together after large changes, and I can bypass a lot of that friction.

View full thread

It's a strange feeling reading the Clay docs which extoll how much simpler it is to set up and how it still is able to do almost everything a custom implementation could, but now in 2026 it's actually easier not to use it at all. Is that better? Worse? I'm sympathetic to the lost community aspect.

The community around the device and platform itself has felt rather inaccessible to me; there's so much old documentation, lost links, outdated tools, incompatibilities... I'm sure if I dove in and asked some questions, I'd get pointed in a direction. Am I forsaking that human experience?

Jumping back into vibe-coding a Pebble watchface. I feel that little low-stakes projects like this really shine when letting go of the technical aspects. Pebble is still getting their ecosystem back together after large changes, and I can bypass a lot of that friction.

View full thread

Another hurdle was that the unofficial Pebble way of doing a settings page for your app is a community library called Clay, but it hasn't been updated in almost a decade and doesn't support the new Round watch. The 'easy' way was closed, which at first felt like a letdown.

But it turns out all I have to do is ask the model to do it the hard way and it's just as easy for me. It helps that I already understand how to host the webpage requirement via Github Pages and could give it exact instructions on how I wanted it done.

Jumping back into vibe-coding a Pebble watchface. I feel that little low-stakes projects like this really shine when letting go of the technical aspects. Pebble is still getting their ecosystem back together after large changes, and I can bypass a lot of that friction.

View full thread

To further experiment with optimization I had the model drop various stages and features of the cloud simulation to see their effect on the illustration and performance. I didn't have to worry about commenting out or flagging things for this - just had it remove and re-add things outright.

I made a conscious practice of not caring if the restored implementation is really the same as the original because neither one was important to me. I can see directly whether it worked relative to spec, and it does. This is a very different and still uncomfortable way of relating to code for me.

Jumping back into vibe-coding a Pebble watchface. I feel that little low-stakes projects like this really shine when letting go of the technical aspects. Pebble is still getting their ecosystem back together after large changes, and I can bypass a lot of that friction.

Some wins: While adapting my cloud generation algorithm, I hit a wall with memory usage due to the device's limitations. Getting past this was as simple as saying "rewrite in native C and prioritize memory efficiency." Felt both dirty and freeing to let go of that task.

Drafting an AI use policy for my (left/liberal, queer) church, wish me luck. Polarization on the topic is about as pronounced as it is here.

On the topic of God's omniscience, I tend to wonder if it is anthropomorphizing to believe that God can imagine or become aware of evil if you also affirm that evil is the privation of good and has no substance of its own.

View full thread

Sorry for theology but I've been turning this idea over and over for a long time and I wonder if I put it out in the world, perhaps there is a precedent you, tolerant reader, might make me aware of (even if only to illuminate where the idea falls apart).

On the topic of God's omniscience, I tend to wonder if it is anthropomorphizing to believe that God can imagine or become aware of evil if you also affirm that evil is the privation of good and has no substance of its own.

View full thread

It's an odd theory but I feel it would make sense of prophecies like "why do you chase after what does not satisfy?" and corresponds well to Jesus' frustrated bafflement at the systems of the world and refusal to participate in or reform them. As noted elsewhere, Jesus' was a rescue mission.

Perhaps I've overstated it; the yearning for and resonance we still retain for the good may bend the arcs of our histories in ways that God could follow and guide, but on the level of individual moments of evil it might all still be incoherent and baffling.

On the topic of God's omniscience, I tend to wonder if it is anthropomorphizing to believe that God can imagine or become aware of evil if you also affirm that evil is the privation of good and has no substance of its own.

Humans can understand evil because we ourselves are evil (that is, partial, half-made of illusions and self-deceptions). But God could not be like us in that way. What reference would God have to rationalize or predict evil?

If this were given, then from the taking of the fruit onward, humanity's history would be a series of non-sequiturs to God, incoherent and shadowy systems colliding, tossing around the only real things in God's sight (the souls of all things) in bizarre emiserating patterns.

My feelings remain mixed on AI but there is truly something delightful about giving plaintext instructions to bootstrap a new project in an unfamiliar toolkit and getting a working hello world, skipping over all the prickly dependency problems. Looking at making a new Pebble watchface today.

Like I'm on ARM using WSL and Pebble's SDK doesn't have compatible native dependencies, but the bot just set up a Docker-based proxy environment for me to get around that without asking. I definitely would have abandoned this project already.

This is so empty. So many people have zero reflective insight into what makes things enjoyable and meaningful.

Bugs 🔜 MC Atlanta@bugsmaytrix.bsky.social

maybe i'm old fashion but the coolest thing about video games is being taken to new worlds that i hadn't thought up and experiencing something exciting that the artists behind the game want to show me

Did a big reset on my website, I'll probably move most of the old content to ATProto based stuff whenever I find the time. In lieu of a portfolio it generates a unique puffy cloud for you on every page load.

What if the process of forming an idea into language is itself a kind of reasoning? What if there is a residual but real kind of reasoning which is instanced in the mere mechanical act of producing coherent language?

We see language as a simple tool used to communicate (pre-language?) ideas, but it seems more like we invented language alongside / intertwined with reasoning, because we reason _with_ language. I wonder if some residue of that rationalization got captured in language itself.

One of the reasons I'm sort of obsessed with Universalism is that the belief in eternal damnation as an appropriate response to transgression seems woven into every faction of American culture.

I tried 4 different shadow tricks before settling on one. Didn't have to code any of them. Each iteration was 5 minutes and most of it was waiting for the display to refresh.

Genuinely, it was really fun to develop the cloud algorithm without worrying about lower level concerns. I could talk about updraft and high pressure zones and get it translated directly to iteration.

Having relaxed my aversion to using AI, I did indeed get bit by giving Gemini a shot at helping me with an obscure car issue when regular research failed. Wipers were over-rotating, the obvious fix (arm position) was a bust, so I did end up asking the computer.

View full thread

Another reason I trusted Gemini too much here is because it actually gave me what I was looking for: a mental model of the internal mechanism of the motor. It explained the use of metal contacts to determine the neutral position and theorized one might have bent. Highly plausible to the problem!

When dealing with unknown issues a mental model is vital. Only in hindsight, and after learning its diagnosis was wrong, did it occur to me that even that explanation may not be relevant to this particular motor. Good reminder that we live in an era of cheap plausibility. Tricky stuff.

Having relaxed my aversion to using AI, I did indeed get bit by giving Gemini a shot at helping me with an obscure car issue when regular research failed. Wipers were over-rotating, the obvious fix (arm position) was a bust, so I did end up asking the computer.

View full thread

The problem, endemic of AI in general, is that it agreed with me (even citing my specific model and year) and encouraged me to replace the motor instead. So I'm out $50 on a secondhand motor, only to discover the fix was to loosen a bolt on the underside of the linkage and realign the arm.

A good reminder that, just because I'm finding this tech quite useful in my field of expertise these days, doesn't mean it won't still fail me in areas I'm less informed about. And it remains - at least with the models being put in the hands of average users - very hard to gauge confidence.

Having relaxed my aversion to using AI, I did indeed get bit by giving Gemini a shot at helping me with an obscure car issue when regular research failed. Wipers were over-rotating, the obvious fix (arm position) was a bust, so I did end up asking the computer.

While digging around under the hood, and after insisting it wasn't the linkage connections, it did correctly ask if the main motor shaft connection could be adjusted. I didn't see how to do that from where I was looking, so I said no. Well, that was in fact the solution.