Luminoid's Site

OK Computer

Shortcuts and commands that earn their keep on a daily-driver Mac.

Read more »

Building an iOS app in 2026 means assembling six layers: project scaffolding, code, build, common packages, distribution, and AI assist. Each layer answers a different question. The same project might use Xcode’s defaults at one layer and a third-party tool at another. The trick is knowing which question each tool actually answers, so you only reach for one when the default stops paying its rent.

Read more »

What to install on a fresh Mac for development, organized by the job each tool does. Skip whichever layer you don’t need; nothing here is mandatory.

Read more »

map, filter, flatMap, reduce. Swift has them on Array. RxSwift has them on Observable. Combine has them on Publisher. The names line up, the chains look the same, and that surface similarity is exactly what makes mixing the three confusing. They are not the same thing.

Three things separate them: sync vs async, eager vs lazy, and whether values arrive over time. Errors, cancellation, threading, and testing all fall out of those.

Read more »
0%