Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.
Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.
Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.
Webový prohlížeč Waterfox (Wikipedie), fork Firefoxu, byl vydán ve verzi 6.7.0. Postaven je na jádru Gecko ESR 153.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).
CrossPoint Reader je open-source alternativní firmware pro menší, levné čtečky, vybavené cca čtyřpalcovým e-ink displejem. Zahrnuje aplikaci pro čtení e-knih a webový server pro konfiguraci a přenos souborů po síti. Verze 1.0 byla vydána v únoru 2026. Recenze současné verze 1.5 vyšla na Linux Weekly News.
Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Byla vydána nová verze 7.1 (YouTube) svobodného open source redakčního systému WordPress. Kódové jméno Mary Lou bylo vybráno na počest americké jazzové klavíristky Mary Lou Williams (YouTube).
Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.
#!/bin/bash
avg=$(
sum=0
count=0
while read line; do
sum=$(($sum + $line))
count=$(($count + 1))
echo $(($sum / $count))
done |
tail -1)
echo $avg
Neexistuje nejake krajsie riesenie? Alebo nejaky obecny trik na podobne ulohy?
Trik so
set -- niecov tomto pripade tiez nepomaha. este jedno riesnie bez pipy a tail, ale podobne odporne
avg=$(sum=0
count=0
while read line; do
sum=$(($sum + $line))
count=$(($count + 1))
echo -n " $(($sum / $count))"
done)
echo ${avg##* }
sum=0
count=0
while read line; do
sum=$((sum + line))
count=$((count + 1))
done
avg=$((sum/count))
echo $avg
#!/bin/bash
sum=0
count=0
echo -e "1\n2\n3" |
while read line; do
sum=$((sum + line))
count=$((count + 1))
done
echo $count
avg=$((sum/count))
echo $avg
Takze takto malo vyzerat povodne zadanie. To ze prenasat premenne nejdu viem, ale zaujima ma potom, ci niekto nepozna nejaky elegantnejsi trik ako to obist.
Cele to potrebujem na skript, ktory cez identify (z ImageMagick) si pozistuje velkosti vysku mnoziny obrazkov, a potom vsetky upravi na ich priemernu vysku.
A cele by som to chcel mat zavisle na co najmensej mnozine softwaru. Zatial si vystacim s bashom, sedom a ImageMagickom. A aj bez toho sedu by som sa zaobisiel.
for line in `echo -e "1\n2\n3"` ; do sum=$((sum + line)) count=$((count + 1)) done
sum=0
count=0
while read line; do
sum=$((sum + line))
count=$((count + 1))
done < vstupni_soubor
echo $count
avg=$((sum/count))
echo $avg
for i in `TU SA NIECO ROZBALI`; do ... done
mktemp) nebo použít pojmenovanou rouru (mkfifo). Jinak novější bash dokáže konstrukci for i in `TU SA NIECO ROZBALI` zvládnout pro libovolně velký výsledek. Při práci s čísly se to dá asi tolerovat, ale ...
Cele to potrebujem na skript, ktory cez identify (z ImageMagick) si pozistuje velkosti vysku mnoziny obrazkov, a potom vsetky upravi na ich priemernu vysku. A cele by som to chcel mat zavisle na co najmensej mnozine softwaru. Zatial si vystacim s bashom, sedom a ImageMagickom. A aj bez toho sedu by som sa zaobisiel.Já bych to dělal takhle:
#!/usr/bin/env python
import os, Image
def find_avg_height(filenames):
sum_height = 0.0
for filename in filenames:
im = Image.open(filename)
sum_height += im.size[1] #height
return sum_height / len(filenames)
def change_height(filenames, newheight):
for filename in filenames:
im = Image.open(filename)
ratio = im.size[1] / newheight
new_size = (int(round(im.size[0] / ratio)),
int(round(newheight)))
out = im.resize(new_size, Image.ANTIALIAS)
out.save('n_' + filename)
filenames = os.listdir('.')
avg_height = find_avg_height(filenames)
print 'Average height is', avg_height
change_height(filenames, avg_height)
Je to program, který projde všechny obrázky v daném adresáři, u každého zjistí rozměry a spočítá z nich průměrnou výšku (Pozor na skripty v shellu - celočíselné dělení nestačí). Pak opět projde všechny obrázky a u každého z nich změní velikost tak, aby výška byla ta vypočítaná a poměr stran zůstal. Nový obrázek bude mít na začátku "n_".
ok, a teraz verziu pracujucu s cmdline zadavanim suborov.No když to musí být ...
import sys filenames = sys.argv[1:]
Inak, celociselne delenie v pohode staci, ale ktovie, mozno vie python vygenerovat aj pol pixeluReálná čísla jsou v mém případě potřeba především kvůli výpočtu nové hodnoty šířky (trojčlenkou).
python nebo perl, případně awk. Druhé řešení je použít stdout tak jak jsi to naznačil a nejedná se o žádný trik. Jen bych podotknul, že mi není jasné, proč to tiskneš pořád dokola, aby jsi to použil jen jednou. Třeba takto
avg=$(
echo -e "1\n2\n3" |
(
sum=0
count=0
while read line
do
let sum+=line
let count++
done
[[ $count -gt 0 ]] && echo $((sum/count))
)
)
echo $avgMyslím, že to není až tak obskurní řešení. Obskurní je nepoužít nějaký ze silnějších jazyků
Tiskni
Sdílej: