@steve when life gives you a large citrus collider, perform various experiments that result in large citrus ade.
I sync, therefore I am.
-René Descloudes
@steve when life gives you a large citrus collider, perform various experiments that result in large citrus ade.
@lorihc good luck 😭
Duolingo out here giving life advice.
¡Gracias!
After all, maybe you’ll never be rich,
You may never have muscles or cash.
And if that’s true, you can still be jolly,
Just don’t be a pain in the ass.
Life is hard enough for us now
Without you making a mess.
Just calm on down, erase that frown,
And let jolly take care of the rest.
You’re wonderfully perfect, you know that you are.
To change anything would be weird.
Just be yourself, the one that you love,
And ignore those who won’t give a cheer.
They look very happy, and maybe they are,
But that doesn’t mean less for you.
Their happiness doesn’t subtract from your own.
They can be red, and you blue.
The singers, the leaders, the names in the stars,
They all live a meaningless life.
Just because they got a jawline and abs
Don’t mean you should go under the knife.
What do you want? Fame? Respect?
Sex, drugs, money, and power?
A like and a half won’t give any of that,
So just drain all those thoughts in the shower.
Not that my life is anything better,
You’re right, I’m a hypocrite.
But why do you need to prove that you’re happy
To people who don’t give a shit?
You tell me you’re all about parties and fun,
Or that’s what your followers say.
But they only see a percent of your life,
And the rest is all boring and gray.
Why can't you just be more jolly?
It’s only the flip of a switch.
Turn off the view of the sadness inside,
And give us a smile, you lil’ bitch.
Got a bunch of feedback, tweaked a bunch of stuff.
Almost ready to ship version 1.
It'll be free.
NSNotification has a few things that might remove the warm and fuzzies from a project.
They're a bit messy. Hard to check correctness at compile time. Maybe not the most performant way to communicate. Might also be a bit too easily intercepted or duplicated by a bad actor.
But hot damn they're easy, and they work.
#ThatFeelingWhen you feel proud that you broke the "rules" and decided to just post a damn NSNotification because the "good"/"standard" mechanisms are just too clunky and you have better things to do with your time.
Seems like every time I search for an answer to a question about #SwiftUI, I get a page from @twostraws
Paul, thank you so much for all this stuff
I had a Linux phase, and it was both a waste of time and a great learning experience.
Started with Ubuntu.
Rabbit holed into Linux From Scratch.
Crawled my way up to Arch Linux.
Regained sanity, back to Ubuntu.
Regained a respect for my time and well-being and went back to macOS.
@amyworrall @ryanashcraft @zachwaugh
A. Persist that record in your local database, then process it once the user upgrades.
B. Set a flag for that record ID in your local database. When the user upgrades, fetch it manually via CKDatabase or CKFetchRecordsOperation.
C. Set a global flag indicating you need to re-fetch everything. When the user upgrades, throw away your change tokens (sync engine state) and sync from scratch.
D. Something else, maybe cry because life is hard.
@amyworrall @ryanashcraft @zachwaugh
Pausing syncing is a pretty drastic move though.
Another technique is to put a "minimum supported version" field in each record.
If the current app is a lower version than the one in a fetched record, then you have a few options:
@amyworrall @ryanashcraft @zachwaugh
If you want to pause syncing for older versions of the app, you could potentially save some sort of highest-used-version-number in a record somewhere.
Then, if an older version of the app sees that a newer version is being used elsewhere, it could pause its sync mechanism.
In CKSyncEngine, you could pause syncing by setting "automaticallySync" to false in your CKSyncEngine.Configuration.