Tag cli
Speed up video and audio with ffmpeg

Speed up by a 2x factor :

ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv

Or a x factor :

ffmpeg -i input.mkv -filter_complex "[0:v]setpts=<1/x>*PTS[v];[0:a]atempo=<x>[a]" -map "[v]" -map "[a]" output.mkv
Change the date of the last git commit

git commit --amend --no-edit --date "20220115T13:42:11"

How to cut/trim a video using ffmpeg

Cut with start position and duration

$ ffmpeg -i input.mp4 -ss 00:03:17 -t 00:10:11 -c:v copy -c:a copy output.mp4

-t specifies the duration from the start position

Cut with start position and end position

$ ffmpeg -i input.mp4 -ss 00:15:23 -to 00:17:32 -c:v copy -c:a copy output.mp4

-to to specify an exact time to cut to from the starting position.

Trim duration from end of video

ffmpeg -sseof -00:12:00 -i input.mp4 -c copy output.mp4

Borg backup free disk space

Free disk space with borg backup :

borg compact --progress --cleanup-commits /repo

https://github.com/MichaelMure/git-bug

Distributed, offline-first bug tracker embedded in git, with bridges

git-bug is a bug tracker that:

  • is fully embedded in git: you only need your git repository to have a bug tracker
  • is distributed: use your normal git remote to collaborate, push and pull your bugs!
  • works offline: in a plane or under the sea? Keep reading and writing bugs!
  • prevents vendor lock-in: your usual service is down or went bad? You already have a full backup.
  • is fast: listing bugs or opening them is a matter of milliseconds
  • doesn't pollute your project: no files are added in your project
  • integrates with your tooling: use the UI you like (CLI, terminal, web) or integrate with your existing tools through the CLI or the GraphQL API
  • bridges to other bug trackers: use bridges to import and export to other trackers.

This is now more than a proof of concept, but still not fully stable. Expect dragons and unfinished business.

https://www.brow.sh/

Browsh is a fully-modern text-based browser renders on terminal.

It renders anything that a modern browser can; HTML5, CSS3, JS, video and even WebGL. Its main purpose is to be run on a remote server and accessed via SSH/Mosh or the in-browser HTML service in order to significantly reduce bandwidth and thus both increase browsing speeds and decrease bandwidth costs

https://github.com/chmln/sd

sd is an intuitive find & replace CLI. (sed alternative)

https://github.com/ajeetdsouza/zoxide/

zoxide is a smarter cd command, inspired by z and autojump.

It remembers which directories you use most frequently, so you can "jump" to them in just a few keystrokes. zoxide works on all major shells.

https://github.com/89luca89/distrobox

Use any Linux distribution inside your terminal. Distrobox uses podman or docker to create containers using the Linux distribution of your choice. The created container will be tightly integrated with the host, allowing sharing of the HOME directory of the user, external storage, external USB devices and graphical apps (X11/Wayland), and audio.

https://github.com/osandov/drgn

drgn (pronounced "dragon") is a debugger with an emphasis on programmability. drgn exposes the types and variables in a program for easy, expressive scripting in Python. For example, you can debug the Linux kernel.

https://github.com/extrawurst/gitui/

GitUI provides you with the comfort of a git GUI but right in your terminal

https://github.com/google/zx

The zx package provides useful wrappers around child_process, escapes arguments and gives sensible defaults.

Write your bash script in javascript

https://github.com/tkellogg/dura

Dura is a background process that watches your Git repositories and commits your uncommitted changes without impacting HEAD, the current branch, or the Git index (staged files). If you ever get into an "oh snap!" situation where you think you just lost days of work, checkout a dura branch and recover.

https://github.com/debauchee/barrier

Open-source KVM software Synergy fork

https://github.com/infinitered/gluegun

Gluegun is a delightful toolkit for building Node-based command-line interfaces (CLIs) in TypeScript or modern JavaScript

https://github.com/soheilpro/catj

Displays JSON files in a flat format

https://johnnydecimal.com/

A system to organise projects

“Hey Kristy, where can I find the payroll schedule?” “12.03”

https://github.com/rubrikinc/wachy

A UI for eBPF-based performance debugging

A dynamic tracing profiler for Linux

Wachy provides a UI for interactive eBPF-based userspace performance debugging.

https://github.com/containers/bubblewrap

Unprivileged sandboxing tool

Many container runtime tools like systemd-nspawn, docker, etc. focus on providing infrastructure for system administrators and orchestration tools (e.g. Kubernetes) to run containers.

These tools are not suitable to give to unprivileged users, because it is trivial to turn such access into a fully privileged root shell on the host.

Bubblewrap could be viewed as setuid implementation of a subset of user namespaces. Emphasis on subset - specifically relevant to the above CVE, bubblewrap does not allow control over iptables.

bubblewrap works by creating a new, completely empty, mount namespace where the root is on a tmpfs that is invisible from the host, and will be automatically cleaned up when the last process exits. You can then use commandline options to construct the root filesystem and process environment and command to run in the namespace.

https://github.com/xo/usql

Universal command-line interface for SQL databases

https://github.com/ekzhang/bore

bore is a simple CLI tool for making tunnels to localhost A modern, simple TCP tunnel in Rust that exposes local ports to a remote server, bypassing standard NAT connection firewalls.

https://github.com/nut-tree/nut.js

Native UI testing controlling keyboard and mouse with node

https://github.com/janestreet/magic-trace

magic-trace collects and displays high-resolution traces of what a process is doing

You use it like perf: point it to a process and off it goes. The key difference from perf is that instead of sampling call stacks throughout time, magic-trace uses Intel Processor Trace to snapshot a ring buffer of all control flow leading up to a chosen point in time1. Then, you can explore an interactive timeline of what happened.

You can point magic-trace at a function such that when your application calls it, magic-trace takes a snapshot. Alternatively, attach it to a running process and detatch it with Ctrl+C, to see a trace of an arbitrary point in your program.

https://github.com/Kira272921/snipli

A command-line interface for quickly sharing code snippets of your local files via github

https://github.com/riquito/tuc

You want to cut on more than just a character, perhaps using negative indexes or format the selected fields as you want... Maybe you want to cut on lines (ever needed to drop first and last line?)... That's where tuc can help.

https://github.com/tylertreat/comcast

Simulating shitty network connections so you can build better systems.

https://github.com/a8m/envsubst

Environment variables substitution for Go

https://github.com/wfxr/forgit

A utility tool powered by fzf for using git interactively.

https://github.com/mgunyho/tere

tere is a terminal file explorer. It is a faster alternative to using cd and ls to browse folders in your terminal. It only really does one thing: it allows you to navigate to a folder efficiently using a TUI, and then prints the path to that folder when you exit.

https://github.com/kellyjonbrazil/jc

CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

https://github.com/andreyvit/json-diff

Structural diff for JSON files

https://github.com/Wilfred/difftastic

a structural diff that understands syntax

https://github.com/terrastruct/d2

D2 is a modern diagram scripting language that turns text to diagrams.

https://github.com/chubin/cheat.sh

the only cheat sheet you need