Lahke ranne mentalne cvicenie:
#!/bin/bash
printf "%-4s %-20s %-10s %-40s %-20s\n" "PROT" "ADDRESS" "PORT" "CMD" "PATH"
netstat -tlnp 2>/dev/null | tail +3 | while read a b c d e f g; do
echo "$g" | (
IFS='/' read q w;
CMDLINE=""
CMDPATH=""
if [ "$q" != "-" ]; then
CMDLINE="$(cat /proc/$q/cmdline | tr '\0' ' ')";
CMDPATH="$(realpath /proc/$q/cwd/)"
fi
printf "%-4s %-20s %-10s %-40s %-20s\n" "$a" "$d" "$q" "$CMDLINE" "$CMDPATH"
)
done
Většina lidí v Bashi neprogramuje. To byste mohl rovnou psát, že polovina ready-made toolingu je zbytečná protože si přece všichni mohou napsat vlastní skripty. Samozřejmě, že ta věc by mohla mít řekněme padesát řádků (ona toho umí o něco víc, dry run, víc portů najednou a tak), ale to nic nemění na tom, že mnohem raději sáhnu po něčem, co je hotové než abych to nedejbože smolil v Bashi a pak to opečovával někde v /usr/local/bin. Potřebuju v tom málu času, který u počítače mám řešit podstatné problémy a ne tohle, navíc na několika pracovních strojích.
Jako ano, jak jsem psal, proč to má čtyři mega netuším, to je dobrý úlet, raději se nebudu dívat v čem je to psané. Ale to je jiný problém.
27. 12. 2025, 15:41 editováno autorem komentáře
Proč hloupá? Oni chtěli udělat staticky kompilovaný jazyk s některými vlastnostmi vyžadujícími runtime a to že je to trochu větší je prostě vlastnost implementace těchto požadavků.
Samozřejmě, každý si může zvolit jazyk dle chuti (:-D), ale velikost binárky přece dávno není téma. Fakt už nemáme osmipalcové diskety.
Jak velké to musí být, aby vám to začalo vadit?
Podle mě nejde o velikost, ale o princip. Všichni si zvykli, že místa a výkonu je šest půlek a programujou jak vožralý milionáři. Tohle je třeba i pro mě zanedbatelná velikost, ale pak vznikají taková zvěrstva jako nástroj na vyčtení SMART informací z SSD a jeho smazání, který má přes 200 mega, protože si s sebou táhne extra Javu a Chromajzla, protože to tak někomu připadalo jako OK.
To nevím, jak velké to musí být, aby mi to začalo vadit, mě obecně vadí nafouknuté věci, které jsou nafouknuté zbytečně. V případě binárek v golangu vím, proč tomu tak je a proto mi to přijde v pohodě. Je to vlastně ze stejných důvodů, proč jsem si golang vybral jako jazyk - statické silné typování s podporou snadného vytváření vlastních typů včetně receiverů, podpora pro multithreading přímo v základu (takže nutnost tam mít interní scheduler pro gorutiny), gc mi také nikdy nevadilo - takže tohle se do té binárky prostě musí vejít.
Musí se mi to vejít na systémový disk :-D To je sice mírná nadsázka ale ne zas až taková. Všichni "programujou jak vožralý" hlavně proto, že to prostě nemusí řešit. Takže pokud je za to někdo platí, řešit to nechtějí protože za to je obvykle na projektu neplatí pokud to výslovně není v AC/requirements a pokud to dělají zdarma, obvykle to dělají proto, že je to baví a zrovna tohle obvykle to nejzábavnější taky není. Co jste čekal? To je prostě vývoj.
To je podobné jako s AI. Tam, kde jste si něco předtím našel na Stack Overflow, pochopil, aplikoval (a stejně to stálo spoustu energie) dnes rychleji a za desetinásobné množství energie necháte vygenerovat LLM. Princip přesně stejný.
Taky neříkám, že jsem tímto trendem nadšený.
Na SO aspoň vím, že ten, kdo to psal, věděl, co píše a má to do jisté míry ověřené, tedy to dělat nemusím. Když mi to dá AI, si to tak jako tak ověřit musím, protože to může být docela klidně blbost. Osobně AI používám na vytvoření základní kostry projektu, kterou mě nebaví dělat od začátku, a zbytek už si dodělám, třeba i s pomocí dílčích zadání zase AI. Ale informace po AI raději nechci.
A to se bavím o AI, která mě nic nestojí, protože tuhle novinku, kvůli které brutálně zdražily RAMky, z principu platit nechci. Bohužel se to asi uživí, protože znám i ve svém okolí spoustu lidí, co si AI platí, což mě dost znepokojuje.
Ale taktiez sa mi nechce tahat nejake obskurne nastroje niekde na pocitac a tam si ich kompilovat pricom ani neviem co robia lebo sa mi nechce pozerat kod a Go uz vobec nie.
Naviac je silna pravdepodobnost ze to budem musiet pustat pod root-om takze to naozaj radsej skript a adresar ~/bin mam v GITe odkial si to stiahnem alebo cele skopirujem na dalsi stroj.
No ja pod root-om nespustam nic co nie je v standardnych repositaroch distribucie - debian. Dufam ze aspon niekto sa pozera trochu do toho kodu a rozumie mu.
To akoze naozaj si niekde stiahnete nejaky kod a potom si ho veselo pustate pod rootom?
To nie je ziadna paranoja to je zdravy rozum. Uz napriklad aj unik zdrojovych kodov co mam pod osobnym kontom na disku by bolo problematicke. Takze 'domace' veci si pustam pod inym kontom nez firemne.
Občas ano. Pokud je to něco, co skutečně potřebuji a nemám to jak řešit jinak a mám to odjinud doporučeno. Ale jen velmi výjimečně; drtivá většina je v AUR. Kam si ovšem samozřejmě také může celkem kdokoliv umístit celkem cokoliv. Jenomže taky z něj obvykle nebuildím "jen tak" ale proto, že jsem někde našel doporučeno, že to, co z něj tahám je to, co potřebuji.
Kdybych se měl spoléhat jen čistě na binární balíky, bylo by to hodně nanic. Některé věci bych v podstatě nemohl dělat vůbec.