úterý 8. dubna 2025

MacOS - skript s detaily o nabíječce

# nabijeni.sh

#!/bin/bash

# Získání hodnot z ioreg

AMP_HEX=$(ioreg -r -n AppleSmartBattery | grep '"Amperage"' | awk '{print $3}')

# Převod amperáže na signed číslo

AMP=$(perl -e "print unpack('q', pack('Q', $AMP_HEX));")

# Vstupní řádek (můžeš ho sem vložit nebo načítat z ioreg automaticky)

DATA=$(ioreg -r -n AppleSmartBattery)


# 🔌 CHARGER DATA

extract_charger() {

  echo "$DATA" | sed -nE "s/.*\"$1\"=([0-9]+).*/\1/p"

}

CURRENT=$(extract_charger "ChargingCurrent")   # mA

VOLTAGE=$(extract_charger "ChargingVoltage")   # mV

VACLIMIT=$(extract_charger "VacVoltageLimit")  # mV

CHARGER_ID=$(extract_charger "ChargerID")

REASON=$(extract_charger "NotChargingReason")

RESET_COUNT=$(extract_charger "ChargerResetCounter")


extract_adapter() {

  echo "$DATA" | sed -nE "s/.*\"$1\"=([^,}]*)[,}].*/\1/p" | head -n 1

}

ADAPTER_ID=$(extract_adapter "AdapterID")

ADAPTER_VOLTS=$(extract_adapter "AdapterVoltage") # mV

ADAPTER_CURRENT=$(extract_adapter "Current")      # mA

ADAPTER_WATTS=$(extract_adapter "Watts")

ADAPTER_DESCRIPTION=$(extract_adapter "Description")

IS_WIRELESS=$(extract_adapter "IsWireless")


if [[ -n "$ADAPTER_VOLTS" && -n "$ADAPTER_CURRENT" ]]; then

  # Odstraň whitespaces a nové řádky

  VOLTS_CLEAN=$(echo "$ADAPTER_VOLTS" | tr -d '[:space:]')

  CURRENT_CLEAN=$(echo "$ADAPTER_CURRENT" | tr -d '[:space:]')

  CALC_WATTS=$(awk -v v="$VOLTS_CLEAN" -v c="$CURRENT_CLEAN" 'BEGIN { printf "v=%.2f V, c=%.2f A, w=%.2f",v/1000,c/1000, (v * c) / 1000000 }')

else

  CALC_WATTS="N/A"

fi


# 🖨️ VÝPIS

clear

echo "🔋 CHARGER DATA:"

echo "  🔌 Charging Current:     $CURRENT mA"

echo "  🔋 Charging Voltage:     $VOLTAGE mV"

#echo "  ⚡ Charging Power:       $WATTS W"

echo "  🔧 Charger ID:           $CHARGER_ID"

echo "  ⛔ Not Charging Reason:  $REASON"

echo "  🔁 Reset Counter:        $RESET_COUNT"

echo ""

echo "🔌 ADAPTER DETAILS:"

echo "  🆔 Adapter ID:           $ADAPTER_ID"

echo "  🧱 Description:          $ADAPTER_DESCRIPTION"

#echo "  🔋 Max. voltage:              $ADAPTER_VOLTS mV"

#echo "  🔌 Max. current:              $ADAPTER_CURRENT mA"

echo "  ⚡ Reported Power:       $ADAPTER_WATTS W"

echo "  ⚙️  Computed Power:       $CALC_WATTS W"

echo "  📡 Wireless?:            $IS_WIRELESS"
echo "🔌 Battery Amperage:     $AMP mA" 

Pro příkaz "watch" je ho potřeba nejdřív instalovat:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

cd

echo >> .zprofile

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> -zprofile

eval "$(/opt/homebrew/bin/brew shellenv)"


A pak už stačí jen:

watch ./nabijeni.sh

sobota 22. března 2025

Co znamená говноед

 "Při zkoumání různých druhů agentů - lidí ze svobodného světa, kteří se zaprodali GRU, se nelze vyhnout tomu, abychom se nedotkli ještě jedné kategorie, možná té nejméně přitažlivé ze všech. Oficiálně se jim nesmí říkat agenti a nejsou to agenti v plném smyslu toho, že by byli naverbovanými agenty. Oficiálně sovětští představitelé s těmito parazity jednají s jímavým přátelstvím, ale v soukromí je nazývají "г о в н о е д" . Těžko říci, kde tento výraz vznikl, ale je to skutečně jediné pojmenování, které si zaslouží. Používání tohoto slova se na sovětských velvyslanectvích tak pevně vžilo, že si nelze představit jiné jméno. Rozhovor zaměstnanců ambasády mohl probíhat následovně: "Dnes máme přátelský večer s ydejonvoh“ nebo "Dnes přijdou na večeři idejonvoh. Připravte vhodné menu...“ [1]

Ilustrační obrázek mouchy u stolu vygeneroval ChatGPT, modifikace s dopravními značkami jsem vytvořil pomocí GIMP a Inkscape. 

Všechny ilustrační obrázky vč. SVG formátu jsou ke stažení zde na GitHubu: https://github.com/tdulik/2D_graphics/tree/main/govnoed    

Reference:
1. 
https://en.wikipedia.org/wiki/Fellow_traveller#USSR