Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].
Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem se nově stal čínský LineShine v Národním superpočítačovém centru v Šen-čenu (NSCS) s výkonem 2,198 exaFLOPS. Z prvního místa sesadil americký superpočítač El Capitan s výkonem 1,809 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 215 místo. Karolina, GPU partition klesla na 249. místo a Karolina, CPU partition na 475. místo.
… více »Zemřel průkopník videoherní hudby Bobby Prince (Wikipedie). Složil hudbu pro hry Wolfenstein 3D, Doom, Doom II, Duke Nukem II a Duke Nukem 3D.
Počítačová hra Operace Flashpoint (Arma: Cold War Assault) od společnosti Bohemia Interactive slaví 25 let. Při této příležitosti bylo publikováno bezplatné hratelné Arma: Cold War Assault Remastered Demo a na GitHubu byly zveřejněny zdrojové kódy.
Na trh v České republice přichází HP EliteBoard G1a. Jde o plnohodnotný AI počítač integrovaný přímo do těla klávesnice, tedy zařízení, které na první pohled vypadá jako minimalistická klávesnice, ale ve skutečnosti nahrazuje klasickou počítačovou jednotku.
V lednu bylo oznámeno, že desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. O víkendu byla vydána první preview verze.
Minulý týden byl oficiálně vydán Android 17. Detaily na blogu a stránkách věnovaných vývojářům.
Dnes jde do prodeje zařízení Steam Machine. Steam Machine 512 GB za 1 039 EUR a Steam Machine 2 TB za 1 359 EUR. Do čtvrtka 25. června do 19:00 se lze zapsat na seznamy. Ty budou jednorázově náhodně slosovány, čímž bude určeno pořadí rezervací a čekacích listin.
Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.51.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek v oznámení o vydání a také na YouTube a PeerTube.
Procesorovo nenarocny skript v bashi, ktory spusti nejaku akciu (alebo iba pipne) v momente, ked zatazenie CPU klesne pod definovanu uroven (pripadne stupne nad definovanu uroven). Vhodne ako upozornovanie na ukoncenie dlhych uloh spustanych z GUI, pre ktore sa neda podobnu funkcnost dosiahnut zretazenim prikazov v shelli.
Pred tyzdnom som sa vratil z Norska, kde som nafotil 1900 fotiek z toho je aspon tretina v panoramach (Lofoty su proste uzasne). Takze posledny tyzden smazim procak a program hugin na skladanie panoram. Problem je, ze poskladat velke panoramy (2x12 fotiek, pripadne 4x4 a podobne) trva hodne casu. Najst kontrolne body par minut, doladit, optimalizovat rozlozenie fotiek a nakoniec poskladat. Nejde o moj cas, ale o strojovy a tak popri skladani si nejakej inej aplikacii mozem robit co chcem. Chcel som ale byt upozorneny, ze hugin dokoncil nejaky krok a caka na mna, nez ho postelujem a pustim dalej. Takze som si napisal skript, ktory sleduje vyuzitie procaku a pri poklese pod nejaku hodnotu pipne. Skript sa da obecne vyuzit na cokolvek, kde clovek potrebuje cakat, nez skonci nejaka procesorovo narocna akcia. Ak sa to da spustit v shelli, tak je riesenie./longrun && play sound.wav. Ak je to ale akcia nespustitelna dostatocne jednoducho zo shellu (napriklad aplikovanie filtru alebo otocenie obrovskeho obrazku v Gimpe (iste da sa naskriptovat aj Gimp, ale nie je to prave pohotove), tak su len dve moznosti: bud sa kazdu chvilu prepinat a pozerat ci uz skoncil, alebo sledovat CPU v nejakom monitore v systray. Alebo nechat niekoho, nech to sleduje za mna. Zaroven by to riesenie nemalo byt tak narocne, aby zatazovalo CPU tak, ze jednak spomali hlavnu cinnost a dvak samo vygeneruje taku zataz, ze vyuzitie CPU nikdy neklesne dostatocne hlboko. Takze riesenie s vytvaranim procesu kazdu sekundu a preskumanie stavu nie je dobre.
Ked uz som pisal ten skript, tak som ho napisal dostatocne obecne, aby sa dal vyuzit na kadeco ine, nez len na sledovanie dokoncenia nejakej ulohy. Konfigurovatelna akcia sa moze spustit bud pri zatazi CPU nad nastavitelny horny limit alebo pod nastavitelny dolny limit (upozorni na ukoncenie zataze alebo na jej zaciatok). Da sa nastavit, ze za limitom musi stravit nejaky pocet sekund, aby sa akcia spustila (aby si nevsimal kratkodobe poklesy vyuzitia CPU). Pre jednoduchost je akcia pipnutie zabudovana, takze na jej zapnutie staci prepinac (defaut prehravane subory si snad kazdy dokaze nasmerovat kam chce). Skript vyuziva ako zdroj vmstat, ostatne veci (bash, sed, play) su vcelku bezne.
Volby su -b (pipnut pri dosiahnuti stavu idle), -c (argument je prikaz, ktory sa ma spustit, ak sa CPU dostane do stavu idle), -l (ake percentualne vyuzitie CPU je uz povazovane za stav idle), -t (ako dlho musi byt vyuzitie CPU pod limitom, aby bola situacia povazovana za stav idle. Rovnake volby s velkym pismenom nastavuju parametre pre sledovanie naopak zatazeneho CPU. Par prikladov:
# pri poklese zataze po dobu aspon 5s pipni a vypis "idle" idleload -b -t5 -c "echo idle" # pri poklese zataze pod 60% hned pipni, ale ignoruj vysoku zataz CPU kratsiu ako 5s # (na koniec kratuckych uloh nie je nutne upozornovat) idleload -b -T5 -l60 # po spusteni narocnej ulohy z GUI mozeme ist spat. Az skonci, tak sa uspi. # "exit" je nutny, aby skript idleload po zobudeni skoncil # a pocitac sa neuspal pri najblizsom idle znova idleload -t 60 -c "sudo hibernate; exit"Skript je vcelku kratky, polovica je help a spracovanie parametrov. Interne nie je sledovana zataz CPU (pretoze sa rozpada do zloziek user/sys/wait), ale stav idle. Vmstat periodicky vypisuje stav systemu bez toho, aby na to potreboval stale novy proces. Sed z toho vypreparuje zlozku idle. Na zmenu stavu (z idle na load a naopak) je nutne, aby v opacnom stave stravil procesor dostatocne dlhu dobu (parametre -t/-T), inak by sa stav menil uz pri nahodnych poklesoch/narastoch vyuzitia CPU. Countre pocitajuce cas straveny v stave su testovane na rovnost (a nie na vacsi rovny), aby sa zvolena akcia vykonala iba raz (pri zmene stavu) a nie stale, kym je CPU nad/pod limitom. Dve miliardy sekund ten skript asi nepobezi, takze nevadi, ze countre mozu neobmedzene rast.
#!/bin/bash
#defaults
loadlimit=90
idlelimit=30
loadtime=2
idletime=2
loadbeepfile=/usr/kde/3.5/share/sounds/KDE_Beep_Digital_1.ogg
idlebeepfile=/usr/kde/3.5/share/sounds/KDE_Beep_ClassicBeep.wav
printusage() {
echo "Run specified commands (or beep) after CPU being idle or under load for given time."
echo "Usage: ${0##*/} [-bB] [-c CMD] [-C CMD] [-l NUM] [-L NUM] [-t NUM] [-T NUM]"
echo " -b beep after CPU being idle"
echo " -B beep after CPU being under load"
echo " -c command to run after CPU being idle"
echo " -C command to run after CPU being under load"
echo " -h this help"
echo " -l limit of CPU load value to consider CPU as idle (default 30)"
echo " -L limit of CPU load value to consider as under load (default 90)"
echo " -p periodically print load value of CPU"
echo " -t time that CPU has to be idle to run idle command (default 2s)"
echo " -T time that CPU has to be under load to run load command (default 2s)"
}
while getopts "bBc:C:hl:L:pt:T:" flag; do
case "$flag" in
b) idlebeep=yes
;;
B) loadbeep=yes
;;
c) idlecmd="$OPTARG"
;;
C) loadcmd="$OPTARG"
;;
l) idlelimit="$OPTARG"
;;
L) loadlimit="$OPTARG"
;;
p) printidle=yes
;;
t) idletime="$OPTARG"
;;
T) loadtime="$OPTARG"
;;
h) printusage
exit 0
;;
*) printusage
exit 1
;;
esac
done
if [[ -z "$idlebeep$loadbeep$idlecmd$loadcmd" ]]; then
echo "Nothing to do. See ${0##*/} -h for help."
exit 0
fi
# start in idle state
idle="$idletime"
load=0
vmstat -n 1 |
sed -ru '
1,2d
# get idle part
s/^ *([0-9]+ +){14}(..).*/\2/
' |
while read cpuidle; do
# count load from idle
cpuload=$((100 - $cpuidle))
[[ "$printidle" == yes ]] &&
echo $cpuload
# load
if [[ $cpuload -ge "$loadlimit" ]]; then
((load++))
if [[ "$load" -eq "$loadtime" ]]; then
idle=0
[[ "$loadbeep" == yes ]] &&
play "$loadbeepfile" 2>/dev/null
eval $loadcmd
fi
else
# not-load state of CPU reset counter of load if not already full load reached
[[ "$load" -lt "$loadtime" ]] &&
load=0
fi
# idle
if [[ $cpuload -le "$idlelimit" ]]; then
((idle++))
if [[ "$idle" -eq "$idletime" ]]; then
load=0
[[ "$idlebeep" == yes ]] &&
play "$idlebeepfile" 2>/dev/null
eval $idlecmd
fi
else
# not-idle state of CPU reset counter of idle if not already full idle reached
[[ "$idle" -lt "$idletime" ]] &&
idle=0
fi
done
Tiskni
Sdílej:
batch by nestačil?
# eix batch No matches found.
batch(1), je to běžná (naprosto) součást at démona. Sice velmi primitivní, ale… samozřejmě existují složitější plánovače, když je to třeba.
idleload -b -T15 -c 'kdialog --passivepopup "Done" 3'. Zistil, ze sa mi hodi upozornovat na koniec vsetkych cinnosti, ktore na viac ako 15s zamestnaju procak. To je taka magicka hranica pre mna, ked uz necakam na dokoncenie ulohy (kopirovanie filmov, rozbalovanie archivov atd.), ale prepinam na browser alebo niekam inam. A nie vzdy mam zapnute repraky alebo sluchatka, takze este popup do laveho horneho rohu.