• 2 Posts
  • 17 Comments
Joined 1 year ago
cake
Cake day: July 2nd, 2023

help-circle
  • That’s why it’s on the OS-level. For example, for text, it seems to work in any text app that uses the standard text input api, which Apple controls.

    User activates the “AI overlay” on the OS, not in the app, OS reads selected text from App and sends text suggestions back.

    The App is (possibly) unaware that AI has been used / activated, and has not received any user information.

    Of course, if you don’t trust the OS, don’t use this. And I’m 100% speculating here based on what we saw for the macOS demo.


  • He sort of invented it, so you have to think he’s commenting on the concept here, not the implementation.

    I have tried a lot of medium and small models, and there it just no good replacement for the larger ones for natural text output. And they won’t run on device.

    Still, fine-tuning smaller models can do wonders, so my guess would be that Apple Intelligence is really 20+ small and fine tuned models that kick in based on which action you take.















  • Not an answer to OP; I use iCloud, but I still want my own, external backup of that and have found some good solutions.

    I previously used icloudpd which I run from docker and that synced all files to a NAS from where I took backups. It works great and I highly recommended.

    However, I recently turned on Advanced Data Protection on iCloud, which disables the API icloudpd relied upon, so now I’m using osxphotos instead. It works just as good.

    You’ll have to turn on downloading all originals to your Mac for this to work. Personally I had to buy an external disk and move the photo library on my Mac mini server to it to have enough storage.


  • While the root issue was still unknown, we actually wrote one. It sort of made sense. Check that the date from isn’t later than date to in the generated range used for the synchronization request. Obviously. You never know what some idiot future coder (usually yourself some weeks from now) would do, am I right?

    However, it was far worse to write the code that fulfilled the test. In the very same few lines of code, we fetched the current date from time.now() plus some time span as date.to, fetched the last synchronization timestamp from db as date.from, and then validated that date.from wasn’t greater than date.to, and if so, log an error about it.

    The validation code made no logic sense when looking at it.


  • This bug has created havocs for me. We had a “last synchronized” time stamp persisted to a DB so that the system was able to robustly deal with server restarts / bootstrapping on new environments.

    The synchronization was used to continuously fetch critical incident and visualize them on a map. The data came through a third party api that broke down if we asked for too much data at a time, so we had to reason about when we fetched data last time, and only ask for new updates since then.

    Each time the synchronization ran, it would persist an updated time stamp to the DB.

    Of course this routine ran just as the server jumped several months into the feature for a few minutes. After this, the last run time stamp was now some time next year. Subsequent runs of the synchronization routine never found any updates as the date range it asked for didn’t really make sense.

    It just ran successfully without finding any new issues. We were quite happy about it. It took months before we figured out we actually had a mayor discrepancy in our visualization map.

    We had plenty of unit tests, integration tests, and system tests. We just didn’t think of having one that checked whether the server had time traveled to the future or not.