Ubuntu 26.04 patrně bude ve výchozím nastavení zobrazovat hvězdičky při zadávání hesla příkazu sudo, změna vychází z nové verze sudo-rs. Ta sice zlepší použitelnost systému pro nové uživatele, na které mohlo 'tiché sudo' působit dojmem, že systém 'zamrzl' a nijak nereaguje na stisky kláves, na druhou stranu se jedná o možnou bezpečnostní slabinu, neboť zobrazování hvězdiček v terminálu odhaluje délku hesla. Původní chování příkazu sudo
… více »Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:
… více »Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).
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.
- #!/bin/sh
- #Skript na zalohovani SVN
- #Use: $0 <what to backup>
- #based on http://snippets.dzone.com/posts/show/2635
- call_exit(){
- echo -n "Error code $1 - "
- case "$1" in
- 1)
- echo "Cannot find place for backup, exitting"
- ;;
- 2)
- echo "Backup dir is not present, exitting"
- ;;
- 3)
- echo "Backup dir is not writable, exitting"
- ;;
- esac
- exit $1
- }
- #Setup
- infoDir=${HOME}/.backup #directory, where information about stored revisions is kept
- svnRepository=${HOME}/SVN #repository location
- externalBackupMountPoint1='/mnt/mp3' #first mountpoint to try
- externalBackupMountPoint2='/mnt/local/mp3' #second mountpoint to try
- externalBackupDir='backup' #path in the mounted disc (asume the disc can be mounted on two locations)
- defaultBackup='phd' #what to backup, if nothing is given on commandline
- #End of setup
- #Find a location for the backup
- if [ `mount | grep $externalBackupMountPoint1 | wc -l` -eq 1 ]
- then
- backupDir="$externalBackupMountPoint1/$externalBackupDir"
- elif [ `mount | grep $externalBackupMountPoint2 | wc -l` -eq 1 ]
- then
- backupDir="$externalBackupMountPoint2/$externalBackupDir"
- else
- call_exit 1
- fi
- [ -d $backupDir ] || call_exit 2
- [ -w $backupDir ] || call_exit 3
- echo =============================================
- echo ============ Backup utility =================
- echo =============================================
- echo
- echo Using $backupDir for the backup
- timeStamp=`date +%F-%H-%M-%S`
- #function to dump SVN repository
- dumpDir(){
- dir=$1 #what repository to backup
- dirBaseName=`basename $dir` #basename of the repository to backup
- echo Processing $dir
- youngest=`svnlook youngest $dir` #last (youngest) revision in the repository
- if [ -r $infoDir/$dirBaseName ]; then #if we have information about the last backupped revision
- latest=`cat $infoDir/$dirBaseName` #last revision
- if [ $latest -lt $youngest ]; then #if the last backuped revision is older than the youngest
- cil=${backupDir}/`basename $dir`_$latest_$youngest_$timeStamp.gz #file name where to backup
- echo Running incremental backup from revision $latest to revision $youngest
- echo Target is $cil
- svnadmin dump $dir --incremental -r $latest:$youngest | gzip > $cil # the command itself
- cp $infoDir/$dirBaseName $infoDir/$dirBaseName.old #backup the old setting
- echo $youngest > $infoDir/$dirBaseName #write the information about the backup
- else #no change since the last backup
- echo No need to backup
- fi
- else #if we have no info about last backup, run full backup
- cil=${backupDir}/`basename $dir`_0_$youngest_$timeStamp.gz
- echo Runnig full backup up to revision $youngest
- echo Target is $cil
- svnadmin dump $dir | gzip > $cil #the command itself
- [ -d $infoDir ] || mkdir $infoDir
- echo $youngest > $infoDir/$dirBaseName #write the information about the backup
- fi
- echo Done
- }
- #if nothing is given on commandline, $defaultBackup is backed up
- what=$1
- if [ "x$1" = "x" ]
- then
- what=$defaultBackup
- fi
- case "$what" in
- all)
- for dir in $svnRepository/*
- do
- dumpDir $dir
- done
- ;;
- *)
- dir=${svnRepository}/${what}
- if [ -d $dir ]
- then
- dumpDir $dir
- else
- echo $dir is not a valid SVN repository
- exit 2
- fi
- ;;
- esac
- echo All Done
Tiskni
Sdílej:
what=$1 if [ "x$1" = "x" ] then what=$defaultBackup filze nahradit za
what=${1:-$defaultBackup}P.S.: s/exitting/exiting/g