inferis.org

Open for hire

Open To What’s Next

After nearly 30 years of writing software, I’m looking for my next challenge.

I’ve been fortunate to spend the last 10+ years at Apple, working on UI frameworks and some fascinating platform technologies.
I helped build UI experiences for Apple Vision Pro, worked on UIKit and its text system, contributed to drag-and-drop, and was part of the team behind the early implementation of SF Symbols.

Before Apple, I spent more than a decade as an independent software engineer, building web and mobile applications for a wide variety of clients. In other words, I’ve been writing software for just about every kind of platform imaginable – and I still genuinely enjoy it.

Now, I’m ready for the next chapter.

Read more...

Screen Updating

You’re working on your Minecraft mod, and you’re developing a beautiful screen, but you need to update it after an action (e.g. you clicked a button and an item should be added to a list). The screen infrastructure has some affordances for synchronizing slots and properties, but the latter are integer only and slots are for itemstacks and inventories only. What if you want to update some more complex data?

Read more...

Feature Renderers

update 2025-02-09: forgot a section! Added the entity model registration.

Minecraft has this feature call “feature renderers” that allows you to add a model to an existing model. This is used for example to show capes, but there’s also one called Deadmau5FeatureRenderer that apparently adds Deadmau5 ears to the player if they are called “Deadmau5”. The things you find perusing the Yarn mappings. 😄

But anyway, using these feature renderers yourself is a little bit more work than you’d expect it to be since there doesn’t seem to be a way to register one of these renderers without resorting to mixins.

Read more...

Welcome

Hi there!

Welcome to my (new, depending on when you read this) blog!

This blog is made using Hugo, and I’m still exploring that so things might change a bit around here before they settle down. Or maybe not. 😄

Read more...