Skip to content

Instantly share code, notes, and snippets.

@84adam
84adam / check-namespaces.sh
Created June 4, 2024 13:53
check namespaces plus associated processes and users
#!/bin/bash
echo "Listing processes and their associated user namespaces:"
for pid in $(ls /proc | grep '^[0-9]*$'); do
if [ -e /proc/$pid/ns/user ]; then
# Get the process command line
cmdline=$(cat /proc/$pid/cmdline | tr '\0' ' ')
# Get the process owner
@84adam
84adam / bash_c_example.sh
Created May 9, 2024 17:12
Bash-C Hello World: Compile and run a C program from a single Bash script
#!/bin/bash
# bash_c_example.sh
# Directory to store the C source file and the executable
EXAMPLES_DIR="$HOME/bash_c_examples"
# Ensure the directory exists, create it if not
mkdir -p "$EXAMPLES_DIR"
# Check if hello_world.c and hello_world executable already exist
@84adam
84adam / bcrypt-argon2-pbkdf2-hash-test.py
Last active May 7, 2024 14:24
bcrypt/argon2/pbkdf2 hash test -- target a work factor that requires at least 250 ms to compute
# bcrypt-argon2-pbkdf2-hash-test.py
import threading
import bcrypt
from pwdlib.hashers import argon2
from pwdlib import PasswordHash
from pwdlib.hashers.argon2 import Argon2Hasher
from hashlib import pbkdf2_hmac
import time
import psutil
@84adam
84adam / lnd-postgres-kv-decoder.py
Created February 23, 2023 04:58
Decode Keys/Values from Postgres LND Database
# lnd-postgres-kv-decoder.py
from decouple import config
import psycopg2
import psycopg2.extras
import pandas as pd
import time
tables = ['channeldb_kv', 'decayedlogdb_kv', 'macaroondb_kv',
'towerclientdb_kv', 'towerserverdb_kv', 'walletdb_kv']
@84adam
84adam / postgres-separators.txt
Created January 4, 2023 21:27
PostgreSQL: format multiple columns into string for each row using a semicolon as separator between fields
### PostgreSQL: format multiple columns into string for each row using a semicolon as separator between fields
```
SELECT
FORMAT('%s; %s; %s; %s',
col_one, col_two, col_three, col_four)
AS entries
FROM table_name;
```
@84adam
84adam / i2pd.service
Last active December 21, 2022 14:39
i2pd.service: control/unit file, systemd service definition
[Unit]
Description=I2P Router written in C++
Documentation=man:i2pd(1) https://i2pd.readthedocs.io/en/latest/
After=network.target
ConditionFileIsExecutable=/usr/sbin/i2pd
[Service]
User=i2pd
Group=i2pd
RuntimeDirectory=i2pd
@84adam
84adam / bitcoin-inflation.py
Created October 20, 2022 16:44
Calculate future bitcoin supply and inflation
# bitcoin-inflation.py
# based on: https://github.com/ndsvw/Bitcoin-Supply-Calculator/blob/master/btcsupply.py
def btc_supply_at_block(b):
max_supply = 20999999.9769
if b >= 33 * 210000:
return max_supply, 1.0
else:
reward = 50e8
supply = 0
@84adam
84adam / tips.txt
Created October 17, 2022 17:16
Python Clean Code Tips & Tools
### Python Clean Code Tips & Tools
Check the quality of your code inside your CI pipeline.
- flake8 - style guide enforcer
- black - code formatting
- isort - optimize imports
- bandit - check for security vulnerabilities
- safety - check for security vulnerabilities of dependencies
@84adam
84adam / main.go
Created October 16, 2022 16:37
Simple Go Website
// a simple Go-based website
// based on: https://www.digitalocean.com/community/tutorials/how-to-make-an-http-server-in-go
// with 100 bytes of CSS from: https://gist.github.com/JoeyBurzynski/617fb6201335779f8424ad9528b72c41
package main
import (
"errors"
"fmt"
"io"
@84adam
84adam / progress-compaction.sh
Last active November 16, 2022 17:20
Monitor Esplora/Electrs compaction process
#!/bin/bash
MOUNTPOINT="/mnt/ext"
DISK="/dev/sda1"
echo ""
echo "-------------------------------------------------------------------------------- DISK SPACE USED/REMAINING"
df -m | head -n 1 ; df -m | grep "$DISK"
df -H | head -n 1 ; df -H | grep "$DISK"
echo "-------------------------------------------------------------------------------- DISK I/O"
echo ""