Iconify je seznam a galerie kolekcí vektorových open-source ikon, ke stažení je přes 275000 ikon z více jak dvou set sad. Tento rovněž open-source projekt dává vývojářům k dispozici i API pro snadnou integraci svobodných ikon do jejich projektů.
Dle plánu certifikační autorita Let's Encrypt nově vydává také certifikáty s šestidenní platností (160 hodin) s možností vystavit je na IP adresu.
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.
Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.
Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.
Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny
… více »D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.
CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.
#!/bin/bash ionice -c 3 nice -n 15 unison -copythreshold 4096 -maxthreads 1000 -stream -copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace" -fastcheck true -owner -group -batch -auto -ui text -logfile /var/log/unison/lab1.log /mnt/pripoj/lab/lab1/ ssh://root@192.168.5.256//mnt/pripoj/lab/lab1/ -sshargs '-i /root/.ssh/unison/id_rsa -c arcfour' >> /var/log/unison/lab1.logPotřeboval bych dát do proměnné: -copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace" Zkoušel jsem:
OPTS2=( -copythreshold 4096 -maxthreads 1000 -stream -copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace" )A potom ve skriptu: unison "${OPTS2[@]}" .... Ale nefunguje to.
[jk@brntos ~]$ OPT='a "b" c' [jk@brntos ~]$ echo $OPT a "b" c [jk@brntos ~]$ OPT="a \"b\" c" [jk@brntos ~]$ echo $OPT a "b" c
Ale nefunguje to.
Co přesně tohle^^^ znamená? Naneštěstí nemám křišťálovou kouli. Chtělo by to přesnější popis, co na tom nefunguje.
Pro začátek je dobré si otestovat, jaké argumenty se tomu programu předávají, tedy co skončí jako jeden celý argument:
blah () { for ((i = 1; i <= $#; ++i)); do echo "${i}: ${!i}"; done; }
blah "${OPTS2[@]}"
To mi vypisuje něco, co vypadá v pořádku:
1: -copythreshold 2: 4096 3: -maxthreads 4: 1000 5: -stream 6: -copyprog 7: rsync --inplace 8: -copyprogrest 9: rsync --partial --inplaceJestli je nutné mít tam uvozovky kvůli dvojí expanzi, tj. aby i po dvojí expanzi zůstaly skupiny tokenů stále pohromadě, nebo případně opravdu předat uvozovky jako součást parametru tomu programu, pak asi nezbude než uložit uvozovky přímo do proměnné. Stačí zkusit třeba tato dvě pole:
# Původní verze pole:
OPTS2=(-copythreshold 4096
-maxthreads 1000
-stream
-copyprog 'rsync --inplace'
-copyprogrest 'rsync --partial --inplace')
# Pole s extra uvozovkami pro další expanzi:
OPTS3=(-copythreshold 4096
-maxthreads 1000
-stream
-copyprog '"rsync --inplace"'
-copyprogrest '"rsync --partial --inplace"')
Výsledek je pak vidět na výstupu z následujících čtyř pokusů. OPTS2 ustojí jen jednu expanzi, zatímco OPTS3 zvládne dvě expanze a po té první má stále v sobě uvozovky.
blah () { for ((i = 1; i <= $#; ++i)); do echo "${i}: ${!i}"; done; }
blah "${OPTS2[@]}" # 1 expanze OPTS2
eval blah "${OPTS2[@]}" # 2 expanze OPTS2 (rozbité)
blah "${OPTS3[@]}" # 1 expanze OPTS3
eval blah "${OPTS3[@]}" # 2 exapnze OPTS3
Zpětná lomítka fungují, dokonce na několik způsobů. Jenom tam musí být vždycky něco, co udrží ty tokeny pohromadě i při druhé expanzi, ke které zjevně v tomto konkrétním skriptu dochází.
OPTS4=(-copyprog \''rsync --inplace'\'
-copyprogrest \''rsync --partial --inplace'\')
OPTS5=(-copyprog \""rsync --inplace"\"
-copyprogrest \""rsync --partial --inplace"\")
OPTS6=(-copyprog rsync\\\ --inplace
-copyprogrest rsync\\\ --partial\\\ --inplace)
$ OPT='a "b" c' $ echo $OPT a "b" cPokud to ale dáváte jako parametr nástroji který spouští další nástroj, pak to může být komplikovanější a chce to nažhavit mozkové závity a manuál
Potřeboval bych dát do proměnné: -copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace"
> PROM='-copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace"' > echo "$PROM" -copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace"
set -x
PROM='-copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace"'
unison "$PROM" /home/karel/a/ /home/karel/b/
+ unison '-copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace"' /home/karel/a/ /home/karel/b/
Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options]
unison: unknown option `-copyprog "rsync --inplace" -copyprogrest "rsync --partial --inplace"'.
++ pwd
++ kill -STOP 11806
Tiskni
Sdílej: