Na stránce nového panelu Firefoxu přibudou nové widgety. Například denně aktualizována interaktivní křížovka.
PGSimCity (GitHub) je webová 3D vizualizace vnitřního fungování databázového systému PostgreSQL v podobě města. Vytvořena pomocí umělé inteligence.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.0 a 24.04-1.4. Nová verze 24.04-2.0 již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.
Byly zveřejněny informace o kritické zranitelnosti CVE-2026-64600 pojmenované RefluXFS (technické detaily) v XFS. Je tam již od verze Linuxu 4.11, tj. rok 2017. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel může editovat libovolný soubor, například klidně zrušit rootovské heslo v /etc/passwd. Videoukázka na Vimeo. V upstreamu je zranitelnost opravena.
OpenAI / ChatGPT má dnes výpadky (OpenAI Status, DownDetector).
Poskytovatel hostingu svobodných/open-source projektů Codeberg po hlasování na valné hromadě vydal stanovisko k využívání LLM. Kvůli vytěžování infrastruktury a rostoucím cenám hardwaru, ale také hrozbám pro spolupráci v komunitě se k LLM staví kriticky. Nebude poskytovat hosting projektů vytvářených LLM agenty.
Jack Dorsey představil (𝕏) open source týmovou komunikační platformu Buzz (GitHub) s cílem snížit závislost na Slacku a GitHubu.
Poštovní klient Thunderbird byl vydán v nové verzi 153 s kódovým názvem Meadow. Jedná se o ESR (Extended Support Release) vydání. Přehled novinek v poznámkách k vydání. Vylepšuje OAuth. Thundermail lze používat bez instalace doplňku.
AI tento rok naplno vtrhla do vývoje softwaru a výrazně ovlivňuje také open source projekty. Jiří Eischmann v příspěvku Jak mění AI open source na svém blogu rozebírá několik trendů, které v open source v poslední době v souvislosti s AI pozoruje, a jak tyto trendy svět otevřeného softwaru mění (Inflace projektů, Zahlcení kontroly, Klesající motivace zveřejňovat kód).
Evropská komise (EK) vyměřila americké internetové společnosti Google pokutu 890 milionů eur (21,5 miliardy Kč) za porušení unijního nařízení o digitálních trzích (DMA). Firma se podle unijní exekutivy provinila tím, že ve vyhledávači Google Search upřednostňovala vlastní služby a že podnikům ukládala omezení, která jim bránila nasměrovat spotřebitele k alternativním, často levnějším nákupním kanálům na platformě Google Play.
… více »#!/bun/bash declare x declare y declare z declare -a vstup read -p "převod mněny pr. (200 EUR to CZK): " x z=1 for y in $( echo $x | cut -f$z -d' ' ) ; do vstup[$z]=$y && z=$((z+1)) ; done exit 0
Zdravim,
ono by bolo mozno vhodne trochu objasnit, ako to ma cele fungovat. Tvoj skript obsahuje niekolko chyb alebo nepresnosti.
Tak podme rad radom:
1. #! /bun/bash zrejme nebude spravne, skus
which bash
a to zadaj za znaky #!
2. Cely ten cyklus je zvlastny, ak chces prechadzat kazdu cast textu oddelenu medzerami, tak mozes takto:
for SLOVO in ${x}
do
# vyraz ${#vstup[@]} vracia pocet poloziek v poli
# nie je nutne pouzit ziadnu premennu ako index
vstup[$(( ${#vstup[@]} +1 ))]="$i"
done
Teda ak si to chcel.
3. Bolo by vhodnejsie pisat nazvy premennych vystiznejsie. Ak bude skript dlhsi, tak to bude peklo.
Tu je moje riesenie, ma chyby a je to len z eur do cz a spat. Ale ako zaklad a ukazka, ako sa to dalo spravit, posluzi:
#! /bin/bash
## Udava kurz
CZKTOEUR="$( echo '1 / 24.72' | bc -l )"
EURTOCZK='24.72'
# nacitanie vstupu od uzivatela
# Myslim si,ze pokial tu nie je ziaden cyklus, tak
# je vhodnejsie zadat hodnotu pre VSTUP priamo v shell
# ako parameter pre skript
read -p "převod mněny pr. (200 EUR to CZK): " VSTUP
# vstup je 200 eur to czk
# Hodnota premennej HODNOTA_VSTUP bude teda 200
# Odstranuje sa najdlhsi nalez od konca hodnoty premennej, ktory zacina medzerou a nasleduje za nou cokolvek
HODNOTA_VSTUP="${VSTUP%% *}"
# Porovnava sa hodnota VSTUP oproti regularnemu vyrazu
# Cely reg. vyraz sa snazi vyhoviet v pripade, ze sa zada Czk to Eur alebo CZk to euR atd.
# a samozrejme dolezitejsie je, ze zisti z ktorej meny do ktorej
if [[ "${VSTUP}" =~ .*[{E,e},{U,u},{R,r}].*[{C,c},{Z,z},{K,k}] ]]
then
HODNOTA_VYSTUP="$( echo "${HODNOTA_VSTUP} * ${EURTOCZK}" | bc )"
# Zaokruhlime vysledne hodnoty na dve desatinne miesta pomocou vyrazu printf %.2f
printf "Za %.2f EUR dostanete %.2f CZK\n" "${HODNOTA_VSTUP}" "${HODNOTA_VYSTUP}"
elif [[ "${VSTUP}" =~ .*[{C,c},{Z,z},{K,k}].*[{E,e},{U,u},{R,r}] ]]
then
HODNOTA_VYSTUP="$( echo "${HODNOTA_VSTUP} * ${CZKTOEUR}" | bc )"
printf "Za %.2f CZK dostanete %.2f EUR\n" "${HODNOTA_VSTUP}" "${HODNOTA_VYSTUP}"
fi
exit 0
Kazdopadne, nech ta to neodradza. Ked bude chut a vola, tak to bude dobre vsetko. Kazdy sa nejak uci. A ja niesom vynimkou aj s mojimi chybami. ;)
Este ti dam do pozornosti toto:
http://www.gnu.org/software/bash/manual/bashref.html
a troskou snahy najdes aj nieco v tvojom rodnom jazyku.
Tiskni
Sdílej: