• not-so-temporary files

    hmm; I recently had the need to find where the “temporary” PDF was stored, as a result of selecting “Print > PDF > Open in Preview”, in an app - and found that it’s no longer simply in your user’s $TMPDIR - so:

    here’s a command-line to find recent ones and move them to the Trash, to review (and likely delete):

    find $TMPDIR ~/Library/Containers/*/Data/tmp/TemporaryItems -type f -mtime -7 -iname \*.pdf\* -print0 | xargs -0 -r -L1 -t -I% mv -i % ~/.Trash/; open ~/.Trash/

    (note: there may be several of the same name, and these will not overwrite each other, and thus not be moved - after disposing of previous results (as per your needs), run the command again. lather, rinse, repeat.)

    it appears these dirs are not cleaned up on a schedule (though may be cleared via Safe Mode), so files may linger here for quite some time - including, depending on what you “Print to PDF”, some that you may not want hanging around (ex: bank statement).

    BTW: depending what apps you use, you may want to check what else is in these TemporaryItems dirs:

    find $TMPDIR ~/Library/Containers/*/Data/tmp/TemporaryItems -type f \! -name .DS_Store -ls

    (as usual: caveat lector)

  • A refreshingly nuanced look at "AI"

    John Siracusa (famed of exacting investigation and insight) has some excellent ideas - and questions - about “Generative AI”. Which we’re now awash in, whether we know it or not: I Made This.

    My own, entirely separate, opinion:

    There is no AI that exists right now; “Generative AI” is a (marketing) label, for systems created on the backs of people, while giving them no credit - and certainly none of the revenue. Calling it “AI” is - at best - a stretch. And it’s the latest twist (of the blade) in the “gig economy”.

  • for each Time Machine destination, display: ID, date & human-readable destination

    {
        remvHeaders='s/==+/\'$'\n''/g';
        echo 'Current status of TM destinations:';
        destInfo=$(tmutil destinationinfo | \
            sed 's/^> //' | \
            tr '\n' '\;' | \
            sed -E 's/  +:/:/g' | \
            sed -E "$remvHeaders");
        defaults read /Library/Preferences/com.apple.TimeMachine.plist Destinations | \
            egrep -v ',$' | \
            sed -E -e ':a' -e 'N' -e '$!ba' -e 's/\n[[:blank:]]+"/ /g' | \
            sed -E 's/^[[:blank:]]+//' | \
            fgrep -e DestinationID -e SnapshotDates | \
            sed -e ':a' -e 'N' -e '$!ba' -e 's/;\n/;/g' | \
            sed 's/( /"/' | \
            while read -r theLine; do
                    destID=$(echo "$theLine" | \
                            cut -d\" -f2);
                    snapDate=$(echo "$theLine" | \
                    cut -d\" -f4);
            echo $destID $snapDate$(echo "$destInfo" | \
            fgrep "$destID" | \
            sed 's/;ID.*$//' | \
            sed -E -e 's/;[^: ]+: / /g');
        done | sort -rn
    }
    
  • $14 / month - and you better believe you’re still the product 🤮
    arstechnica.com/tech-poli…

  • it’s just weird, how there are so many signs, urging people to vote against police oversight measures, in rich neighborhoods… (looking at you in particular, BTV)

  • as we’ve come to expect from the good folks at TidBITS - a thoroughly approachable and emminently useful guide, to protecting yourself from the scourge of “phishing”: tidbits.com/2023/01/1…

  • if you’re able, I hope you’ll join me in supporting the amazing Violet Blue and her book: www.kickstarter.com/projects/…

  • the magic of the US dollar, is precisely this:
    it has value, because enough people believe it does.

    the flipside: that belief is by no means certain to continue indefinitely

  • “Russian missiles strike Kyiv, shattering sense of calm”
    Bullshit - the only sense of calm, was for people with their heads in the sand, hoping that appeasement would spare any cost to them. Which - and we have overwhelming evidence - simply makes things worse.
    There is one way - only - to stop Putin. And that is to - wait for it - stop Putin.
    There’s no way out by dialog only - the rest of the world must step up, and take direct ACTION. www.rutlandherald.com/news/busi…

  • Leah Elliot’s remix of Scott McCloud’s 2008 discussion of Google Chrome - should be required reading for anyone using it. And the rest of us, too.
    “What are you going to do about it?” contrachrome.com/comic/pag…

  • Bolling’s brilliant take, on Putin’s abuse of his country, to abuse the people of Ukraine

    www.dailykos.com/stories/2…

  • The kids, are a whole lot better than alright: “teen wanted COVID vaccine; had to hide it from parents”

  • Poor form, folks - from the Ladders Privacy Policy

    Our Services do not respond to Do Not Track signals.

    Sure; thanks for being honest - even better, to actually show some respect.

  • good illustration of the idea of “security theater” - all that counts, is the weakest link; and so many to choose from…

    (entry to “reservoir” near top of Main St in Burlington (VT) near UVM’s Davis Ctr)

    I do not think it means what you think it means
  • clean up sensitive (Mac) Preview files

    It’s handy to print things to Preview - maybe you want to save the “security” questions and (random) answers from a new site registration, to a secure place (like 1Password) and now you’re wondering where that temporary file is - with that sensitive info.

    So; fire up a terminal:

    find $TMPDIR -type f -mmin -1440 -iname \*.pdf\* -print0 | xargs -0 -L1 -t -I% mv -i % ~/.Trash/; open ~/.Trash/
    

    Notes:

    • start find with these options / arguments:
      • in $TMPDIR - your own user’s dir for temporary files
        • (which will automatically get cleaned up - eventually)
      • -type f - we want to find files only
      • -mmin -1440 - files modified in the last 1440 minutes (1 day); tweak as you like
      • -iname \*.pdf\* - files of with an extension of pdf*
      • -print0 - output results null-terminated (to handle “special” chars)
    • | - pipe results to xargs, to process them using these options:
      • -0 - handle null-terminated input
      • -L1 - process one item at a time (if any)
      • -t - show commands as they’re executed
      • -I% - in the ensuing command, replace % there, with the resulting filename/s
    • mv - move these files, with the following options:
      • -i - interactive prompt (instead of overwrite)
      • % - the source filename, substituted by xargs
      • ~/.Trash/ - destination dir; put them here
    • open ~/.Trash/ - open (in Finder), for your review
  • FWIW: Whenever I “have to” visit a questionable site (looking at you, Facebook - screw the new name) I use an iOS device, since that’s more tightly secure than most of the “desktop” OS choices with any reasonable usability.

    Obviously nothing is perfectly secure - though it’s foolish to subject a less secure OS to that risk.

  • well this looks darn handy: sayyescovidhometest.org

  • log4j is not the problem

    The central problem, is the enormous jenga tower that we’ve built:

    • Full of dependencies that virtually no one understands.
    • Dependencies generally chosen, for expedience.
    • Chosen by coders at all levels of in/experience.
    • Driven by “ship it now”, and “move fast and break things”.
    • With management rarely caring about risks - until one becomes a public crisis, which can no longer be ignored.

    Predictions:

    1. These crises will get both worse, and more frequent - bad actors (*), have noticed how vulnerable everything is.
    • (* Bad actors of all stripes, not “just” in tech - and some have state-level resources.)
    1. Even still, there will be little fundamental change in how we write & deploy code - because most of the people making these decisions haven’t felt it. Yet.
    2. The “powers that be” think they’re insulated from the pain. It may not be long til they find out how wrong they are.
  • BTW: Here are links to my old blogs, on Blogger (bought by Google):
    (Why give any more to Google - home of “Do(n’t) be evil”.)

subscribe via RSS