Skip to main content
tdro

Another wandering soul whispering into the void. If you are looking for my blog you are in the wrong place. The profile and header pictures are brought to you by cdd20.

tdro micro.thedroneely.com view
  • Markdown Plaintext Embed Permalink
  • 110/50 words 37s read

    A quick wrapper script for normalized git commit dates. Commit dates and timezones are normalized or truncated to the day. This is useful for avoiding rebasing and/or not having to think about system or git date/time settings when on another device or in another timezone. If precise timestamps matter, then it is easily disabled.

    shell
    #!/bin/sh -eu
    
    GIT=$(which git --all | grep --invert-match "local/bin" | head --lines 1)
    GIT_COMMITTER_DATE="$(date --utc --date '0' '+%a %b %d %H:%M:%S %Y %z')"
    
    export GIT_COMMITTER_DATE
    
    [ "${1:-}" = "commit" ] && export DATE=1 && $GIT "$@" --date="$GIT_COMMITTER_DATE"
    
    [ "${DATE:-}" = 1 ] && exit
    
    $GIT "$@"
    #gists #programs
    tdro

    Another wandering soul whispering into the void. If you are looking for my blog you are in the wrong place. The profile and header pictures are brought to you by cdd20.

    tdro micro.thedroneely.com view
  • Markdown Plaintext Embed Permalink
  • 80/50 words 27s read

    Tracking git metadata never crossed my mind (git privacy). My understanding was that metadata can’t be sole ground truths anyway. Known real–world contributors increase trust/triangulation.

    Reality is not always in sync with metadata, for example; rebasing repositories as 1 commit, using different names/emails, travelling (without updating ) or working inside time drifted virtual machines.

    I’d imagine that simpler anonymization involves anonymous contributors sharing the same metadata. In short, the deniable we are one, we are many, we are legion cloak.

    #programs
    tdro

    Another wandering soul whispering into the void. If you are looking for my blog you are in the wrong place. The profile and header pictures are brought to you by cdd20.

    tdro micro.thedroneely.com view
  • Markdown Plaintext Embed Permalink
  • 89/50 words 30s read

    Infinite scrolling is unusual. Most implementations are “almost infinite” to avoid excessive length (memory).

    • Infinite scrolling: Limits content to an arbitrarily large amount to avoid exhausting memory.

    • Virtual scrolling: Unload everything except the visible viewport + a top and bottom offset. Pad the rest.

    Virtual scrolling is infinite, but breaks auxiliary actions ( CTRL + F ) because what’s on the screen is the content.

    js
    document.addEventListener("scroll", function() {
      console.log(document.querySelectorAll('*').length)
    });
    Increasing DOM length is infinite and constant length is virtual

    The most popular library appears to be https://infinite-scroll.com.

    #gists #webdev
    tdro

    Another wandering soul whispering into the void. If you are looking for my blog you are in the wrong place. The profile and header pictures are brought to you by cdd20.

    tdro micro.thedroneely.com view
  • Markdown Plaintext Embed Permalink
  • 56/50 words 19s read

    Some SSH options are worth tweaking when directly distributing code with git to multiple remotes. ConnectTimeout and BatchMode (optionally for automation). ControlMaster enables multiplexing for session sharing via sockets.

    cfg
    ForwardX11 no
    Compression no
    ConnectTimeout 3
    ServerAliveCountMax 1
    ServerAliveInterval 10
    
    Host *
      ControlMaster auto
      ControlPersist yes
      ControlPath ~/.ssh/sockets/%r@%h-%p
    An example ~/.ssh/config or /etc/ssh/ssh_config

    %r@%h-%p translates to user@hostname-22.

    #gists

    Authors

    Gallery

    Web Feeds (6)

    Web Ring