Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Dobrý den,
chtěl bych Vás všechny poprosit o pomoc. Dostal jsem následující zadání:
V jazyce příkazového interpretu ’shell’ (Bourne-Again SHell) napište program sort.sh,
realizuje jednuduchý program pro třídění textových souborů (viz man sort). Nezapomeňte
na ošetření chybného formátu vstupních dat.
Bohužel je to mimo mé síly a už nevím na koho bych se obrátil. Vážne bych si cenil, kdyby jste mi jakkoliv pomohli. Jsem už docela zoufalý.
Děkuji za každou radu.
František Štolba
sort.sh:
#!/bin/bash sort $*
Zadání to IMHO zcela vyhovuje... 
taky mě to napadlo jako první, ale neodvažoval jsem to tu napsat aby se toho nechytl.
No za 5 nevím, přijde mi to jako správné řešení. Proč psát něco, co je dávno hotové, otestované, navíc v céčku? V praxi bys použil přesně takové řešení, škola by si neměla vymýšlet blbosti.
A sort nemá potřebné kontroly implementované?
Jistě, leč to je právě problém školství, že se žáci učí často na krávovinách. Kdyby zadání bylo smysluplné, i žáci by je možná raději a ochotněji řešili. Proč by si ale učitel neusnadnil život, že..
Nakonec sem to dal dohromady hlavně díky kamarádovy. A pana učitele bych se chtěl zastat. Je to jeden z těch lepších učitelů.
Kdyby to někoho zajímalo tak sem to vytvořil takto:
#!/bin/bash
if test $# -ne 1
then
echo "Zadejte prosim cestu k souboru!"
exit
fi
# Overeni existence souboru
if test -f $1
then
soubor=$1
else
echo "Soubot neexistuje!!!"
exit 0
fi
# Nactemem radky ze souboru do pole
i=0
pole=[]
while read radka; do
pole[$i]=$radka
i=$(expr $i + 1)
done <$soubor
#######
prohodit()
{
local pomocna=${pole[$1]}
pole[$1]=${pole[$2]}
pole[$2]=$pomocna
return
}
#######
#Pocet prvku v poli, pocet kroku cyklu
pocet_prvku=${#pole[@]}
echo "Pocet radku: $pocet_prvku"
let "pocet_kroku = $pocet_prvku - 1"
while [ "$pocet_kroku" -gt 0 ]
do
index=0
while [ "$index" -lt "$pocet_kroku" ]
do
if [ ${pole[$index]} \> ${pole[`expr $index + 1`]} ]
then
prohodit $index `expr $index + 1`
fi
let "index += 1"
done
let "pocet_kroku -= 1"
done
# Vypsani serazeneho pole
i=0
while [ "$i" -lt "$pocet_prvku" ]
do
echo ${pole[$i]}
let "i += 1"
done
exit 0
Tiskni
Sdílej: