• 4 Posts
  • 121 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle

  • GenderNeutralBro@lemmy.sdf.orgtoFirefox@lemmy.mlOrbit by Mozilla
    ·
    edit-2
    9 days ago

    This is a FAQ for end users, about a feature in software running on end users' computers.

    It is absolutely doublespeak to call it "local". Are we supposed to invent an entirely new term now to distinguish between remote and local? Please do not accept this usage. It will make meaningful communication much harder.

    Edit: I mean seriously, by this token OpenAI, Google, Facebook, etc. could call their servers "locally hosted". It is an utterly meaningless term if you accept this usage.









  • I have a different Boox product, the low-end Poke Lite (I think version 4?).

    Pros:

    • E-paper display is easy on the eyes
    • Customizable backlight temperature and brightness
    • Runs arbitrary Android apps
    • Battery for days
    • Can install open-source reading apps like Librera
    • Still receiving software updates after a few years

    Cons:

    • Only runs Android 11
    • Installing Google Play requires jumping through some weird hoops, because it's not Google certified. I recommend using F-Droid instead, or using a throwaway google account to avoid this security liability.
    • Built-in apps kind of suck in general
    • Home screen strongly pushes their own ecosystem, shoving regular Android apps into a different section
    • Most apps look like ass on a B&W display
    • Most apps look like ass on a 4:3 display (not applicable to the Palma)
    • The various display refresh modes are unintuitive

    The newer models, from what I understand, use faster-refreshing display tech, and some even support color.



  • We’ve always safeguarded your data with an integrated stack of world-class secure infrastructure and technology, delivering end-to-end protection in a way that only Google can

    This is weaselly even by marketing standards. Most of Google's services are still not end-to-end encrypted, and none of them were until recently. Oh, but they said "end-to-end protection", which means absolutely nothing, so I guess it's not technically a bald-faced lie.

    Anyway, aside from their attempt to rewrite history, it sounds a lot like Apple's promise with their secure and verifiable AI servers. Google's blog post references Project Oak, which I'm not intimately familiar with.

    I'm still skeptical of these supposedly-private cloud platforms, but I have a lot of reading to do if I want to develop an informed opinion.



  • Probably ~15TB through file-level syncing tools (rsync or similar; I forget exactly what I used), just copying up my internal RAID array to an external HDD. I've done this a few times, either for backup purposes or to prepare to reformat my array. I originally used ZFS on the array, but converted it to something with built-in kernel support a while back because it got troublesome when switching distros. Might switch it to bcachefs at some point.

    With dd specifically, maybe 1TB? I've used it to temporarily back up my boot drive on occasion, on the assumption that restoring my entire system that way would be simpler in case whatever I was planning blew up in my face. Fortunately never needed to restore it that way.



  • Exactly. My nightstand has a plain ol' USB 2.0 slow charger, which is plenty to get it fully charged overnight. On light days, that's all I need.

    I have a USB-PD charger on my desk and in my travel bag, which I'll use to get me through the day as needed, but my phone only takes 20W max IIRC. There've certainly been times when traveling when I wished it could charge much much faster, because I don't have access to power for long stretches of time.

    I used to have a OnePlus phone, which used SuperVOOC instead of just USB-PD. Much faster and I never had heat issues. I'd love to see SuperVOOC adopted more outside of China. I think OnePlus is the only brand with SuperVOOC sold in my country.




  • Glad it's working! Couple more quick ideas:

    Since you're looping through the results of find, $file_path will be a single path name, so you don't need to loop over it with for images in $file_path; anymore.

    I think you're checking each field of the results in its own if statement, e.g. if [[ $(echo $ALL_DATES | awk '{print $1}')... then if [[ $(echo $ALL_DATES | awk '{print $2}')... etc. While I don't think this is hurting performance significantly, it would make your code easier to read and maintain if you first found the correct date, and then did only one comparison operation on it.

    For example, exiftool -m -d '%Y%m%d' -T -DateTimeOriginal -CreateDate -FileModifyDate -DateAcquired -ModifyDate "$file_path" returns five columns, which contain either a date or "-", and it looks like you're using the first column that contains a valid date. You can try something like this to grab the first date more easily, then just use that from then on:

    FIRST_DATE=$(exiftool -m -d '%Y%m%d' -T -DateTimeOriginal -CreateDate -FileModifyDate -DateAcquired -ModifyDate "$file_path" | tr -d '-' | awk '{print $1}')

    tr -d '-' will delete all occurrences of '-'. That means the result will only contain whitespace and valid dates, so awk '{print $1}' will print the first valid date. Then you can simply have one if statement:

    if [[ "$FIRST_DATE" != '' ]] && [[ "$FIRST_DATE" -gt $start_range ]] && [[ "$FIRST_DATE" -lt $end_range ]]; then

    Hope this helps!


  • I have not tested this, but I have a couple ideas off the top of my head.

    #1 - Retrieve all fields with a single exiftool command. e.g. ALL_DATES=$(exiftool -m -d '%Y%m%d' -T -DateTimeOriginal -CreateDate -FileModifyDate -DateAcquired -ModifyDate "$filename")

    Then retrieve individual fields from $ALL_DATES with something like awk. e.g. echo $ALL_DATES | awk '{print $1}' will return the first field (DateTimeOriginal), and changing that to '{print $2}' will return the second field (CreateDate).

    #2 - Perhaps process multiple files with a single exiftool call. e.g. exiftool -m -d '%Y%m%d' -T -DateTimeOriginal -CreateDate -FileModifyDate -DateAcquired -ModifyDate ~/Pictures/*. You might compare whether running just this exiftool query once vs running it in a loop takes a significantly different amount of time. If not, it's probably simpler to use one call per file.

    Edit: I doubt the either find or globbing will use a significant amount of time, however, the issues you have with find and spaces in file names can be worked around by using find's -print0 option. This prints out file paths separated by NUL bytes (i.e. ASCII value 0). You can then loop through them without needing to guess when whitespace is part of the path vs a delimiter. A common way of dealing with this is to pipe the output of find into xargs like so: find ~/Pictures -type f -print0 | xargs -0 -L 1 echo 'File path: '. That will execute echo 'File path: ' <file> for every file in your Pictures folder. It's a little more complicated. You can also use a for loop like so:

    find ~/Pictures -type f -print0 | while IFS= read -r -d '' file_path; do
        echo "Processing: $file_path"
    done
    

    Note that when you pass a blank string with read -d '', it reads to a NUL char, as documented here: https://www.gnu.org/software/bash/manual/bash.html#index-read . I'm not 100% sure if this is true in older versions of Bash or other similar shells.