Skip to content

Instantly share code, notes, and snippets.

View lucaspar's full-sized avatar

Lucas Parzianello lucaspar

  • University of Notre Dame
View GitHub Profile
@lucaspar
lucaspar / dckr-volumes
Last active July 12, 2024 19:52
Lists dangling docker volumes and their sizes
#!/usr/bin/env bash
set -euo pipefail
# loop through each volume and calculate its size
function list_vols_and_sizes() {
VOLUMES=$1
for volume_name in $VOLUMES; do
SIZE=$(sudo du -sh "$DOCKER_VOLUME_DIR/${volume_name}/_data" 2>/dev/null | awk '{print $1}')
echo "${volume_name}, $SIZE"
done
@lucaspar
lucaspar / inspirobot.sh
Last active June 22, 2024 02:29
Inspirational images paired with questionable advice on the command line. Powered by https://inspirobot.me/
# Returns success (0) if the argument exists as a program, alias, or a function.
function exists() {
# if no argument, show usage and return false
if [ -z "${1}" ]; then
echo "Usage: exists <program>"
return 1
fi
command -v "${1}" >/dev/null 2>&1
}
@lucaspar
lucaspar / wip.sh
Last active June 22, 2024 02:29
"Work in Progress" | A git helper to save partial work
# Source: https://gist.github.com/lucaspar/c6ed7e5654887beeb703b163d9b57712
# Add this function to your .bashrc, then source it: `source ~/.bashrc` or restart the terminal.
# Helper function for submitting working changes into version control and avoid loss of work.
# Work in Progress (`wip`) will create a temporary commit with your unstaged changes and a
# generic message. When run subsequently and within 24h of the last "wip" commit, it amends
# the last commit to prevent cluttering the commit history. Otherwise it will create a new "wip"
# commit. After a few hours of work, consider amending the "wip" commit with a proper message.
# Usage:
# wip [options] [file_a path_b file_c ...]
@lucaspar
lucaspar / slack-notify
Last active July 12, 2024 19:59
Slack notification script
#!/usr/bin/env bash
# Issues notifications on a Slack channel.
#
# >>> Don't forget to set SLACK_WEBHOOK_URL_DEFAULT to a valid URL <<<
#
# Usage: slack-notify "leave the gun. take the cannoli"
# Source: https://gist.github.com/lucaspar/64c9cf35756d1892e749c1bd735aa0fe
set -euo pipefail
# Slack Notifications
@lucaspar
lucaspar / heimdall-style.css
Created July 20, 2023 15:18
Heimdall Style
/* Paste these lines in Settings > Advanced > Custom CSS */
/* ================ */
/* generic elements */
body {
background-color: rgb(16, 16, 16);
color: rgb(198, 198, 198);
/* font-family: monospace; */
line-height: 1.8;
}
@lucaspar
lucaspar / waste_my_ram.py
Created July 14, 2023 20:17
Progressively allocates all memory in a system
"""You probably don't want to run this.
Source: https://stackoverflow.com/a/66109163/2848528
"""
import logging
import secrets
from typing import Optional
from humanfriendly import format_size
@lucaspar
lucaspar / Debugging.md
Created June 24, 2023 21:39
Debugging in containers

Debugging in containers

Tired of "command not found" - these lines will install commonly used tools to debug networking, read logs, and other things.

Start a shell as root inside the container

CONTAINER_KEYWORD="spark"
CONTAINER_NAME=$(docker ps | grep -i "${CONTAINER_KEYWORD}" | head -n 1 | awk '{print $NF}')
echo "CONTAINER_NAME: ${CONTAINER_NAME}"
@lucaspar
lucaspar / pyarrow_conversions.py
Created June 14, 2023 20:03
Benchmark | PyArrow conversions
"""Benchmark the conversion of pyarrow arrays to polars, numpy, and lists."""
import time
from typing import Callable
import numpy as np
import pandas as pd
import polars as pl
import psutil
import pyarrow as pa
@lucaspar
lucaspar / ub-origin-filters.txt
Last active December 20, 2023 08:20
Denser YouTube's subscriptions view, with smaller thumbnails
! Add these lines to the "my filters" section of ublock origin
www.youtube.com##ytd-rich-section-renderer.ytd-rich-grid-renderer.style-scope:nth-of-type(2)
youtube.com##ytd-rich-grid-renderer:style(--ytd-rich-grid-items-per-row: 12 !important;)
youtube.com##ytd-rich-grid-row, #contents.ytd-rich-grid-row:style(display:contents !important;)
@lucaspar
lucaspar / Dockerfile
Last active December 20, 2023 08:10
Minimal installation of Poetry in Docker
# use python3 alpine image
FROM python:3.12-alpine
# install curl
RUN apk add --no-cache curl
# install poetry
RUN curl -sSL https://install.python-poetry.org | python3 -