Ryan Moelter

30 Followers
38 Following
222 Posts
Indie app developer working on Heypenny during the day, portrait photographer at golden hour. Previously at Headspace, Wealthfront.
Heypennyhttps://heypenny.money
Personal sitehttps://ryanmoelter.com
GitHubhttps://github.com/ryanmoelter
Blueskyhttps://bsky.app/profile/ryanmoelter.com

Here is another slow expression to demonstrate the disjunction pruning optimization I talked about earlier.

Suppose you declare a variable of implicitly unwrapped optional type:

var x: Int! = ...

The value of x is stored like an ordinary optional "Int?", but a reference to x from inside an expression is presented as a disjunction---the type of the reference is either "Int", or "Int?". If both lead to a solution, we favor the "Int?" choice; otherwise, we get the "Int" choice, and the compiler then lowers the reference to a runtime check.

Now, consider this expression:

let result = x + x + x + x + x + x

It takes the Swift 6.3 compiler a third of a second to type check this expression, and now its instant with recent main snapshots. What changed?

There are two problems in computer science:

1. We could do this better
2. We should not do this at all

I published a new article, "Introducing the Experimental Styles API in Jetpack Compose".

It introduces the Styles API as a new way to define interactive, stateful Compose UI with automatic animations and efficient style application.

https://doveletter.skydoves.me/preview/articles/compose-styles

Introducing the Experimental Styles API in Jetpack Compose

Explore the new experimental Styles API in Jetpack Compose. Learn how to create reusable, composable styling patterns for your Android UI components.

Dove Letter

When you email issues to Obsidian Entertainment (the video game company) their AI support hallucinates and tells you to email Obsidian (the note-taking company) instead.

The perils of trusting an LLM with your customer support.

The write-up of my new graph layout algorithm for SpiderMonkey is finally live.

We built a custom layout algorithm for JS and WASM that follows the structure of the source code. No more spaghetti nightmares from Graphviz, and thousands of times faster.

https://spidermonkey.dev/blog/2025/10/28/iongraph-web.html

Who needs Graphviz when you can build it yourself?

Exploring a new layout algorithm for control flow graphs.

SpiderMonkey JavaScript/WebAssembly Engine

yeeeessss
YEESSSS

more batshit like this

https://bogdanthegeek.github.io/blog/projects/vapeserver/

Hosting a WebSite on a Disposable Vape

Someone's trash is another person's web server.

BogdanTheGeek's Blog

Pocket Casts web and desktop clients are now free to use!

https://blog.pocketcasts.com/2025/03/11/webplayer/

Pocket Casts’ Web Player Is Now Available to All

The future of podcasting shouldn’t be locked behind walled gardens. It should be free, open, and available to everyone—on any device, without restrictions. That’s why we’re excited to announce that…

Pocket Casts Blog

My friends and I have been using it for a few months now and we like it, but I'd still love any feedback you all have! Also, it's US only for now, sorry international friends.

The first 10 people to create an account with this link get free premium for life! https://heypenny.money/join?i=fediv

Get Heypenny premium for free

Split bills fairly

Although there's still plenty to do, I’m proud of what I've built and how useful it’s been to our friend group! One of my friends told me they’ve been saying yes to more social things, knowing they don’t have to worry about dinners/drinks being split fairly.