Skip to content

Instantly share code, notes, and snippets.

@pabsan-0
pabsan-0 / gst-bitrate-parser.awk
Created January 21, 2026 10:58
gst-bitrate-parser.awk
#! /usr/bin/env -S awk -f
# ./bitrate_parser.awk
# Highlight parsed values inside GstIdentity chain messages
# Usage:
# gst-launch-1.0 -v foo ! identity silent=false ! bar | ./bitrate_parser.awk
BEGIN {
GREEN = "\033[1;32m"
RESET = "\033[0m"
@pabsan-0
pabsan-0 / forticlient-dns-dispatcher.sh
Last active January 16, 2026 08:27
Forticlient DNS fix Ubuntu 22.04
#!/bin/bash
#
# FortiClient VPN DNS configuration script.
# Helps with DNS wipes happening arbitrarity with Ubuntu 22.04 and Forticlient 7.2.5,
# appearing to the user that the VPN works just sometimes. Tune the TODO fields in the script.
# Run either manually or via NetworkManager dispatcher:
# https://wiki.archlinux.org/title/NetworkManager#Dispatcher_scripts
#
# Save this script as:
# /etc/NetworkManager/dispatcher.d/90-forticlient-dns
@pabsan-0
pabsan-0 / README.md
Created January 29, 2025 15:12
Install Airsim && UE 4.27 in Ubuntu 22.04

Installing UE4+Airsim on Ubuntu 22.04 Jammy

Install Unreal Engine 4

Register on epic and all that, then once you have access to the source code, clone and build.

This step gets us:

  • Unreal Engine 4: core simulation engine
Plug 'puremourning/vimspector' " wrap in vim-plug paragraph
let g:vimspector_enable_mappings = 'HUMAN'
let g:vimspector_sign_priority = {} "TBD
@pabsan-0
pabsan-0 / .bashrc
Created February 16, 2024 08:06
bashrc
echo 'echo sleep 0.01 >> ~/.bashrc' >> ~/.bashrc
@pabsan-0
pabsan-0 / stow-compare.sh
Created December 26, 2023 17:06
Compare stowed and related files in a dotfile-like environment
#!/bin/bash
# Terminology:
#
# ~ # target_dir
# ├── .tmux.conf -> dotfiles/vim/.vimrc # target_link target_file
# ├── .vimrc
# │
# └── dotfiles # stow_dir
# ├── tmux # stow_pkg
@pabsan-0
pabsan-0 / alcampo.sh
Created August 9, 2023 09:57
Alcampo.es nutritional value web scraper
# Alcampo.es nutritional value web scraper.
# Usage:
# $ alcampo.sh <URL>
#
# Scrape product title
curl -s "$1" | tr "h1" "\n" | grep '"name":"' | sed 's:^.*name"\:"::' | sed 's:"."description.*$::g'
echo
@pabsan-0
pabsan-0 / tmuxinator.yml
Created June 22, 2023 11:25
Latency profiling on glass-to-glass streams
#! /usr/bin/env -S tmuxinator start -p
# chmod +x me!
name: latency profiler
on_project_exit: killall gst-launch-1.0; tmux kill-session
windows:
- main:
layout: even-vertical
panes:
- gst-launch-1.0 uridecodebin "uri=rtsp://10.0.3.5:8554/basler3" ! queue ! videoconvert ! videobalance brightness=0.5 contrast=1.5 ! xvimagesink sync=0 async=0
@pabsan-0
pabsan-0 / .tmuxinator.yml
Last active May 10, 2023 12:18
ROS stack to send images to JS browser
name: ros_noetic_video
on_project_exit: tmux kill-window
windows:
- main:
pre: source /opt/ros/noetic/setup.bash
layout: tiled
panes:
- roscore
- sleep 1; roslaunch rosbridge_server rosbridge_websocket.launch
- sleep 1; rosrun web_video_server web_video_server
@pabsan-0
pabsan-0 / README.md
Last active December 24, 2023 05:51
Gstreamer send-recv examples through an RTSP server

Gstreamer RTSP demos

This gist comprises several Gstreamer send-recv examples through an RTSP server.

Dependencies

  • Tmuxinator apt install tmuxinator
  • Tmux apt install tmux
  • Gstreamer fat install