Will Lumley

@wlumley
34 Followers
24 Following
125 Posts

Mainly a senior iOS engineer, but love to dabble in web development and robotics/embedded-systems in my spare time.

Father to four amazing children, and husband to a beautiful wife.

Checkout my stuff:
lumley.io
github.com/will-lumley/

🌎 Websitehttps://lumley.io
💻 Githubhttp://github.com/will-lumley/
@ryanbooker yeah I get the weird occasional API error that goes away when I do the pull-to-refresh. feels very fragile
In many cultures, the collapse of civilization is considered a bad omen
@huwr Hahah I was going to build a chassis at the end but liked seeing my work and decided not to.

My garage remote died a while back, so I rebuilt the opener using an ESP32, a relay module, and HomeSpan (an open-source HomeKit Accessory Protocol implementation).

No vendor cloud, no subscriptions, no locked-down “smart” hardware. Just a simple, local, secure garage controller that works perfectly with HomeKit.

Wrote up the full build + wiring + firmware details here:
https://lumley.io/blogs/smart-garage/

#HomeAutomation #ESP32 #HomeKit #DIY #HomeSpan #OpenSource

How I Turned My Broken Garage Remote Into a HomeKit Garage Door for Under $22

A few weeks ago, my garage remote died. Completely. No LED, no click, no signs of life even after replacing the battery. Normally, this would be annoying enough, but my house relies heavily on HomeKit. Lights, blinds, cameras, fans - everything responds to Siri… except the garage. And now, even the dumb remote wasn’t working. But instead of buying a $90 replacement remote or a $250 HomeKit-enabled garage opener, I had a different thought:

My Portfolio

Fatbobman’s Swift Weekly #0107 is out!
A Trip to the Apple Store for Repairs

🔥 Hot Reloading SwiftUI Apps
🔍 Mobile Testing Strategies
🤖 Automate with Swift Subprocess
🎢 AsyncCombine

and more...
https://weekly.fatbobman.com/p/fatbobmans-swift-weekly-0107

thank you to those who selflessly shared their wisdom with us: @danielchooper, Jinkai, @kharrison, Tjeerd in 't Veen, @JacobBartlett, Bruno Valente Pimentel, Alfonso Tarallo, @mattiem and @wlumley

Fatbobman's Swift Weekly #0107

A Trip to the Apple Store for Repairs

Fatbobman's Swift Weekly

🚀 New blog post!

AsyncCombine: Because Async Code Shouldn’t Be Ugly

I built AsyncCombine to bring back Combine’s expressive syntax - sink, assign, CombineLatest, and more - but powered by Swift Concurrency.

Why? Because observing an @Observable class’s properties from a SwiftUI view is easy - but doing the same from another ViewModel got way harder and messier once @Published disappeared.

Check out my article that goes over how I solved it.

🔗 https://lumley.io/blogs/async-combine/

AsyncCombine: Because Async Code Shouldn’t Be Ugly

When Swift first introduced Combine, I loved it. The syntax was expressive, pipelines were easy to follow, and @Published made state changes feel almost magical. But as Apple pushed us toward Swift Concurrency, I decided to bite the bullet and migrate one of my apps away from Combine. The migration worked; async/await is powerful, predictable, and in many ways simpler. But I quickly noticed something, parts of my code just weren’t as easy to read anymore. A neat Combine one-liner became a few clunky async calls. And to make things worse, I couldn’t rely on @Published to observe changes between view models anymore.

My Portfolio

Apple to Europe: „Your laws are bad for us, therefore we are withholding unrelated features from your citizens and do everything possible to lobby against your laws.“

Apple in the USA: „We only follow the laws and orders of our authoritarian government, there is nothing we can do against it.“

@jelly @huwr @TonyVladusich that’s actually why my veins are blue :)
@TonyVladusich The veins are blue because they haven't received any oxygen nor air into them yet :)
Paul Graham wondering why there is so much racism at the Nazi bar and why Elon isn’t doing anything to stop it is almost cute in its naivety