Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.
Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.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.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Už dlouhou dobu jsem poměrně rozčarován ze způsobu zacházení s českými manuálovými stránkami v Debianu. Používá se mix znakových sad UTF-8 a ISO-8859-2. Snad je problém ve formátu nroff, ve kterém se IMHO nedá určit v jaké znakové sadě je dokument napsán a s Debianem nesouvisí; ovšem nejednotnost kódování jen přilévá benzín do ohně. To, že české manuály bývají zastaralé a málo kdo je čte, tento nedostatek neomlouvá. Běžně sice z praktických důvodů používám anglické verze, ale požitek z češtiny bych si při občasné relaxaci spočívající v pročítání manuálů nerad odpouštěl.
Většina stránek je v ISO-8859-2, avšak některé v UTF-8 (např. mplayer, dvdisaster). A ta změť znaků skutečně nevypadá vábně. Protože jsem na webu nenašel rozumný návod, jak problém řešit, trochu jsem zalaboroval a výsledek dávám k posouzení a zároveň si ho zálohuji :)
Když zadám shellu příkaz man cokoliv, projde zdrojový text manuálové stránky řadou preprocesorů spojených rourou, na jejímž konci je předán obsah nějakému pageru (např. less). Před pagerem je zařazen procesor groff, který formátuje text do výsledné podoby a mimo jiné provádí konverzi na kódování určené locale. V mé instalaci Debianu tedy z ISO-8859-2 na UTF-8, které používám. Problém nastane, když stránka již v UTF-8 je. Potom si zcela zbytečně dává práci převést ji na UTF-8 a samozřejmě ji naprosto zmrší. Napadlo mě do řetězu vklínit vlastní preprocesor, který by převedl UTF-8 stránku na kódování ISO-8859-2, ve kterém je většina manuálů v Debianu. Takže by se převáděla z UTF-8 na latin2 a dále zpět z latin2 na UTF-8 ;) Nebyl jsem ale schopen zjistit, jak vklínit do řetězu další preprocesor, a tak jsem se rozhodl udělat wrapper na již existující a doufám vždy použitý: tbl.
K detekci znakové sady jsem použil program enca a k vytvoření dočasného souboru binárku tempfile z debianího balíčku debian-utils - je to ovšem nepostradatelná utilitka snad dostupná v každé distribuci.
sudo apt-get install enca debian-utils
Konfigurační soubor programu man je v Debianu /etc/manpath.config. Stačí v něm předefinovat preprocesor tbl na vytvořený wrapper:
DEFINE tbl /usr/local/bin/tbl-utf8-latin2.sh
například tento:
#!/bin/sh
#BUGS: does not parse LANGUAGE environment variable
#TODO: other languages support (i.e. Slovak)
do_convert=0
if test -n "$LC_ALL" ; then
echo "$LC_ALL" | grep -q cs_CZ && do_convert=1
elif test -n "$LC_MESSAGES"; then
echo "$LC_MESSAGES" | grep -q cs_CZ && do_convert=1
elif echo "$LANG" | grep -q cs_CZ; then
do_convert=1
fi
test -x /usr/bin/enca || do_convert=0
test -x /bin/tempfile || do_convert=0
if [ $do_convert -eq 1 ]; then
tmp=`/bin/tempfile`
cat $1 > $tmp;
if /usr/bin/enca $tmp | grep -q "Universal transformation format 8 bits; UTF-8"; then
cat $tmp | /usr/bin/enca -x ISO-8859-2 | /usr/bin/tbl
else
cat $tmp | /usr/bin/tbl
fi
rm $tmp
else
cat $1 | /usr/bin/tbl
fi
Skript detekuje nastavení locales a pokud je cs_CZ a manuál je v UTF-8, převede ho na ISO-8859-2 a pošle dál. Jinak ho předá beze změn.
Pokud jsem jako osel vymýšlel již vymyšlené, a existující řešení nekoliduje s balíčkovacím systémem, budu rád, pokud mě na něj upozorníte. Koneckonců nevěřím, že by neexistovalo elegantnější řešení - vždyť je to natolik závažný problém dotýkající se mnoha česky hovořících uživatelů.
Tiskni
Sdílej:
export PAGER="enca -c|most"
je nedostatečné řešení?
/usr/bin/zsoelim /tmp/zmanKqA3pR | /usr/bin/tbl | /usr/bin/groff -M/usr/local/share/groff/tmac -mandoc -rLL=118n -rLT=118n -Tascii8 | iconv -c -f ISO-8859-2 -t UTF-8 | $PAGER
Kdyby místo iconv -c -f ISO-8859-2 -t UTF-8 použil enca, nebo by se dalo vypnout konvertování úplně, nebyl by asi problém.
Ale nevím jak.
Místo navrhovaného enca -c | most by se musel použít wrapper ve smyslu: pokud je po převodu z UTF-8 na latin2 text v UTF-8, zobraz pagerem tento, jinak text původní.
Snad by to skutečně bylo jednoduší.
Mimochodem roura v proměnných se na mém systému ignoruje.