Jonas Salling

@jsalling
42 Followers
110 Following
224 Posts
Building apps since 2003, mostly at the intersection of Apple and mobile—early projects include Salling Clicker and MobileSync. Over the past decade, I’ve helped companies big and small—including Skype, Schibsted, and Storytel—craft high-quality iOS apps. I'm passionate about thoughtful, well-made software, and sometimes open to new consulting opportunities. My podcast app https://indieapps.space/@updates: https://apps.apple.com/app/id6737241203
GITHUBhttps://github.com/salling
LINKEDINhttps://linkedin.com/in/jonassalling/

Four years of full-scale invasion. Twelve years of war. Centuries of struggle.

There will be Ukraine, one way or another. There will be Ukraine, and it will be glorious.

🚀 GRDB 7.10.0 is out! This release ships the hard work of @marcprux, @tjadejong and Micah Moore for supporting Android, Linux, Windows, and SQLCipher with SPM (for encrypted databases).

The situation of GRDB+SQLCipher with SPM is much better, but still not all sunshine and roses. You must fork GRDB, and modify Package.swift. Instructions are in the file itself, in comments that contain "GRDB+SQLCipher".

Maybe an "official" fork will ship eventually–this is still under discussion. In all cases, SQLCipher will need a GRDB fork for several years to come, which means that all derived repositories (GRDBQuery, GRDBSnapshotTesting, SQLiteData, etc) will need to be forked as well.

What are we currently lacking in order to avoid forks?

We need Xcode to support package traits. Only package traits can reliably link GRDB with SQLite, or SQLCipher, but not both.

We also need SPM to stop downloading unused dependencies, because I do not want that your projects download SQLCipher, or declare a dependency on SQLCipher, when you do not use it. And when GRDB adds more traits for more SQLite and SQLCipher variants, I do not want that those are downloaded, too.

https://github.com/groue/GRDB.swift/releases/tag/v7.10.0

Release v7.10.0 · groue/GRDB.swift

A new release of the Swift toolkit for SQLite databases. This release focuses on bringing GRDB to Android, Linux, and Windows. Thank you very much @thinkpractice, @R4N and @marcprux! It is now easi...

GitHub
Pavel Durov's home country has banned Snapchat, WhatsApp, FaceTime, Facebook, Instagram, YouTube, Signal, Viber, Google Meet and several other messaging services and restricted the use of Telegram — yet this despicable Russian collaborator continues to lie as though he were employed by the FSB.
Very saddened to hear we lost @uliwitness last year. We crossed paths and hung out together at NSConference and WWDC several times. He was frequently in pilky's streams too, helping with Coppice and providing moral support, and one of the first people I would have liked to try out my updated version. Between the two of them, the developer community has lost decades of irreplaceable Mac-specific knowledge and experience

Swift concurrency nOOb question: if you're using Approachable Concurrency and you get warnings about using Sendable structs in non-main-actor contexts, is the recommended workaround to mark them as nonisolated?

Also, it seems odd to me that marking a struct as Sendable doesn't already exempt it from default MainActor isolation. Is there a good reason why you'd want to limit Sendable types to MainActor?

SuperDuper v3.12 now available. Includes some Tahoe improvements, a security fix, and, you know, other stuff >waves hands around a little<.

https://www.shirtpocket.com/blog/index.php/shadedgrey/comments/superduper_v312_now_available/

#macOS #SuperDuper #backup

Shirt Pocket Watch - SuperDuper v3.12 Now Available!

Good morning! Today we’re excited to introduce a new thing we’ve been working on for years. This. Is Liquid Values. See how it fluidly moves between one set of deep convictions to another while maintaining a consistency of presentation and verbiage? Liquid Values is an industry first that can support both fighting democratic governments tooth and nail while cowtowing to, working with, and supporting autocracies. All this while staying true to our core: shareholder value.
We think you’ll love it.