• 88 Posts
  • 370 Comments
Joined 3 years ago
cake
Cake day: June 11th, 2023

help-circle


  • They’re bash/shell- and bin-dependent commands rather than Git commands. I use Nushell.
    Transformed to Nushell commands:

    • The 20 most-changed files in the last year:
      git log --format=format: --name-only --since="1 year ago" | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20
    • Who Built This:
      git shortlog -sn --no-merges
      git shortlog -sn --no-merges --since="6 months ago"
    • Where Do Bugs Cluster:
      git log -i -E --grep="fix|bug|broken" --name-only --format='' | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20
    • Is This Project Accelerating or Dying:
      git log --format='%ad' --date=format:'%Y-%m' | lines | str trim | where (is-not-empty) | uniq --count
    • How Often Is the Team Firefighting:
      git log --oneline --since="1 year ago" | find --ignore-case --regex 'revert|hotfix|emergency|rollback'

    /edit: Looks like the lines have whitespace or sth. Replaced lines --skip-empty with lines | str trim | where (is-not-empty).

    command aliases
    def "gits most-changed-files" [] { git log --format=format: --name-only --since="1 year ago" | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20 }
    def "gits who" [] { git shortlog -sn --no-merges }
    def "gits who6m" [] { git shortlog -sn --no-merges --since="6 months ago" }
    def "gits fixes" [] { git log -i -E --grep="fix|bug|broken" --name-only --format='' | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20 }
    def "gits aliveness" [] { git log --format='%ad' --date=format:'%Y-%m' | lines | str trim | where (is-not-empty) | uniq --count }
    def "gits firefighting" [] { git log --oneline --since="1 year ago" | find --ignore-case --regex 'revert|hotfix|emergency|rollback' }
    

  • Given the nature of Steam and previous executed data extraction, I’m scared installing and running niche/indie games now. Windows lacks

    A unified GUI framework hasn’t happened yet, not between OSes, nor really within each OS ecosystem. I’m not hopeful about leaps in native interoperability in that regard.

    Web tech interoperability is so established and widely used, packaging and running those natively seems much more viable than any hope for supposed native long term efforts.

    Not everything will be covered by web tech. But for many things, it’s already viable, and exploring native integration of these web technologies is interesting.


  • Git push to Forgejo -> automated build, package, and deploy pipeline -> use secured credentials to upload via scp or ssh or sftp

    Alternatives to copy-upload or upload-package and then extract via command is stuff like rsync (reduce redundant, unchanged file uploads) or a simple receiver service (for example REST endpoint that receives a package with an identifier key and secret key, that it extracts to a configured target folder).

    What solutions are simplest or easiest depend on the target environment, and how much of it you control. If you host the website on Forgejo itself it’s as simple as pushing the static files into the corresponding pages branch.





  • How does Pretext work?

    1. Segment the text; Normalize whitespace, apply Unicode line-break rules, and split the string into measurable units using the browser’s own text segmentation.
    2. Measure with Canvas; Feed each segment through Canvas measureText() to get real glyph advance widths from the font engine. Results are cached.
    3. Pretext.js uses pure arithmetic; Given a container width, compute line breaks by summing segment widths. Multiply line count by line-height. Return height. No DOM, ever.

    Unfortunately, that doesn’t really explain the final integration. And it seems I misunderstood/-assumed at first.

    Looking at the example at the top right, it renders numerous div elements?

    So, presumably, you lose text wrap behavior and clean markup like <p> for a paragraph? I also can’t select text from it in a normal or consistent way.

    This example isn’t very convincing either.

    Seems like a cool visual gimmick more than practically useful and accessible for primary content.












    • Huge growth in tooling and systems making use of “community” dependencies
    • Fewer safeguards and security guarantees and concerns on these platforms
    • Easy entry into these platforms and systems
    • Huge potential scale-effect through global software development tooling
    • Huge additional potential scale effect through developer and development systems - crossing into other such platforms through local credentials, immediate access to internal tooling, platforms, and systems, and potential to attack other downstream systems and platforms
    • Public knowledge about the attack vectors, attack successes and reporting, and continued opportunity, occurrence, and personal successes, investment, and knowledge