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 (edited) view
  • Markdown Plaintext Embed Permalink
  • 109/50 words 36s read

    Some of my configuration files are online aren’t they? Raku is one of the most interesting, if not the most. I’m not an expert but it pretty much has every language construct ( promises) plus exotic stuff. The exotic operators are strangely intuitive (and “hyped”).

    raku
    my @bin = 1..3;
    @bin>>++;
    say @bin;
    My array (@) named bin has numbers 1 to 3 (1..3) like this [ 1 2 3 ]. The hyper operator »++ increments (++) its items by 1. Say prints [ 2 3 4 ].

    I use it for quick with the multi dispatch CLI feature. The logo is a butterfly (or maybe it’s a raccoon).

    #gists
    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
  • 88/50 words 29s read

    File name, spelling, and dictionary completion exist too. This is tortured, but combining them makes a meta point? The “meta” is hard to convey, but completion doubles as a way of finding, changing, and passing keywords around. Terminals are fair game too. That’s basic completion in a nutshell (minus the magic).

    #clips #gists
    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
  • 81/50 words 27s read

    Command line completion is probably another lesser known one. The command line window is minimized, but typing q: (commands) and q/ or q? (search forward/backward) opens it up completely. Wild mode configures its behaviour.

    #clips #gists
    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
  • 88/50 words 29s read

    Abbreviations are another completion primitive in Vim. Since it’s full auto, it wants to be magical. <Key> presses and scripts can be replayed. Paired with custom completions and output from external tools, it transforms into advanced witchcraft and/or cursed sorcery. In my case, it just expands acronyms.

    Expand once by simulating key presses and undoing previous abbreviations.
    Index: Cache · Source
    #clips #gists
    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
  • 81/50 words 27s read

    Here’s Vim editor thesaurus completion. This kind of completion has its various limitations that I might detail later. I mentioned thesauri in passing but my Internet connection is pitiful and writing about editor meta feels a bit bizarre.

    Tight completions help with focus. Using an external tool becomes optional.
    Index: Cache · Source
    #clips #gists
    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
  • 81/50 words 27s read

    More Vim editor meta? Since posting a video of my LaTeX/Vim shenanigans, queries for tips arrive occasionally. Completion and whole line completion are boilerplate hammers. The more buffers and windows loaded, the more “robust”.

    It’s not always efficient and depends on knowing what you’re trying to complete.
    Index: Cache · Source
    #clips #gists
    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
  • 55/50 words 18s read

    The nmap command can enumerate ciphers on the server.

    shell
    nmap --script ssl-enum-ciphers -p 443 domain.example

    The SSL Labs’ SSL test is similar? In debugging purgatory, there are instances where declarations in a configuration do not translate into reality and it’s not always the implementation, or the server, but sometimes exotic interactions between systems.

    #gists
    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
  • 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