Why I swapped GNU stow's symlink farm for chezmoi: one command to bootstrap a Mac with Homebrew packages and macOS settings, a small daily sync loop, and agent skills shared between Claude Code and Codex.
Why & backgrounds execution but doesn't stop output from flooding your terminal.
Learn variable indirection in Bash with ${!var} syntax. Build context-aware configs, function dispatch, and dynamic variable name resolution.
Prevent multiple script instances with file locking. Use flock in Bash, fcntl in Python, and syscall.Flock in Go for single-instance processes.
Complete SSH setup guide: key pairs, authorized_keys, sshd_config, ssh_config, known_hosts, agent forwarding, and hardening for secure remote access.
Automate environment variables per directory with direnv. Load .envrc files on entry, unload on exit. Integrate with Python venv and uv workflow.
Master Bash namerefs with declare -n to create dynamic variable references. Build generic functions for arrays and associative arrays without eval.
Complete guide to Bash redirection. Master stdout, stderr, pipes, tee, file descriptors, and shorthand syntax with practical examples for every case.
Make raw HTTP requests with Bash's /dev/tcp file descriptor. Build health check scripts without curl or wget using TCP socket connections.
Replace mkdir, cp, and chmod with a single install command. Copy files, create directories, and set permissions in one step with GNU coreutils.
Avoid here-doc pitfalls when running remote commands via SSH. Learn variable expansion gotchas and simpler alternatives for deployment scripts.
Master git rebase for cleaner commit history. Learn interactive rebasing, squashing commits, and rebasing feature branches onto main with practical examples.
Organize custom scripts with comma-prefixed naming. Improve tab completion and eliminate clutter by prefixing script names with special characters.
Manage dotfiles across devices with GNU Stow. Symlink configuration files from git repo to home directory with simple, idempotent commands.
Share data via DNS TXT records using dig and base64 encoding. Learn limitations, security concerns, and practical use cases for DNS tunneling.
Build Unix-style command pipelines in Python using subprocess.run with stdout piping for efficient process chaining and output capture.
Build a traceroute clone in Python using UDP and ICMP sockets to trace network packet routes and measure hop latency with TTL manipulation.
Schedule one-time commands with UNIX at command. Learn job queuing, remote scheduling via HTTP API, and managing atd/atrun daemons.
Learn how to use associative arrays in Bash to create key-value pairs, mimic dictionaries, and manage complex data structures in shell scripts.
Use process substitution <() to treat command output as files in Bash. Compare directories, process data, and avoid temporary files with this technique.
Build interactive CLI menus with Bash select statement. Create user-friendly command-line tools with option selection and function dispatch.
Format terminal output with tput instead of ANSI codes. Set colors, bold text, underlines, and backgrounds with simple commands in shell scripts.
Build Unix domain socket servers and clients with Python and socat. Access Docker API via UDS, create HTTP servers, and optimize inter-process communication.
Use the colon : command as a no-op in Bash scripts for cleaner debug output with -x flag. Alternative to echo for section markers and comments.
Automate commit message validation with GitHub Actions. Enforce refs and closes patterns to maintain clean Git history and link commits to issues.
Master shell quoting rules: single vs double quotes, backticks vs $(). Learn when to quote variables to prevent spaces and special characters from breaking commands.
Understand how return values work in Bash functions. Learn exit codes, status evaluation patterns, and proper boolean returns with true/false commands.
View git commit history for a single file with git log --follow. Learn to track multiple files with xargs and concatenate their commit logs.
Run background health checks in CI with nohup and ampersand. Test server readiness with retry loops and automatic cleanup on success or failure.
Why executable scripts shouldn't have extensions. Learn GitHub's scripts-to-rule-them-all pattern for language-agnostic project automation.
Replace which with command -v for POSIX-compliant executable lookup. Learn why command -v is the portable alternative for finding program paths.
Prevent shell commands from executing immediately when pasting. Use curly braces to safely paste multi-line commands with hidden newline characters.
Enable Bash strict mode with set -euo pipefail to catch errors early. Exit on failures, treat unset variables as errors, and handle pipeline failures properly.
Pues eso, que desde hoy, Amazon proporciona almacenamiento persistente a sus instancias de “Elastic Computing Cloud” (EC2).Y no solo eso, que podría parecer facil dado que ya tienen su “Simple Storage Server” (S3, el guardian de mi musica por ahora), sino que añaden caracteristicas interesantísimas
Vale, post eminentemente técnico, no se me pierdan.Resulta que estoy trabajando contra un Apache ‘restringido’, y no acepta ProxyPass/ProxyPassReverse.Y claro, cuando uno quiere presentar varios servidores en un único front… esa es la opción más habitual… al menos hasta donde yo se.Así que, anulada
Jajajajaja… haciendo una nueva imagen de EC2 para un proyecto me acabo de encontrar con este mensaje…[…] /mnt/gailenora /mnt/img-mnt1+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.00264 s, 397 MB/smke2fs 1.40.4 (31-Dec-2007)NOTE: rsync with preservation of extended file
…o como pedirle educadamente y en dos lineas que haga el DROP ALL TABLES que necesito para la integración continua de un proyecto, y sobre una mysql que no soporta dicho comando…export MYSQLCMD=“mysql -s -u root mibasededatos”echo “show tables;” | ${MYSQLCMD} | sed “s/^/DROP TABLE /” | sed “s/$/;/”