Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.
Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.
Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.
Byla vydána nová verze 3.47 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.13 souvisejícího programovacího jazyka Dart (Wikipedie).
Byla vydána nová verze 26.1 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Bian-May. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Na akci Made by Google 2026 (YouTube) byla oficiálně představena jedenáctá generace telefonů Pixel s novým čipem Google Tensor G6 a hodinky Pixel Watch 5.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda
… více »Intel vydal 42 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20260811 mikrokódů pro své procesory.
Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.
Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.
Občas by člověk potřeboval něco naprogramovat v BASHi a nepamatuje si, nedělá to často a tak. No a k tomu by se mu hodily nějaké tu základní konstrukce vytesané do webu. Třeba zrovna dnes jsem hledal způsob jak se pracuje s proměnými jejichž název je v nějaké proměné. Paradoxní, že jsem hledal svůj vlastní příspěvek a v něm obsažený příklad.
#!/bin/bash
foo () {
local var=BAR_$1
eval $var=$2
echo ${!var}
}
foo Ahoj svete # melo by vypsat "svete"
# uvnitr funkce by mela vzniknout promenna
# BAR_Ahoj="svete"
echo $BAR_Ahoj
exit 0
Jak se vždy přepnout do adresáře kde je umístěn script a dělat cosik relativně k tomuto adresáři?
# go to root directory of project
origdir=$(pwd)
cd ${0%/*}
Co udělat s parametrem od uživatele, když nám zadá cestu k nějakému souboru (když relativní tak zpravidla relativní k původnímu umístění).
[ ${1:0:1} == '/' ] &&
filename=$1 ||
filename=$origdir/$1
Ať se stane cokoli, měli bychom po sobě uklidit. Teda pokud se nebjeví nějakej "umětel" a nepošle nám SIGKILL.
#exit clean
clean() {
rm -rf $clist $dlist $packdir
}
trap clean EXIT
Něco málo k hezkým chybovým hláškám.
#error messages
error() {
local exitcode=$1
shift
[ $exitcode != 0 ] && local prefix="error $exitcode:"
errormsg "$prefix $@"
exit $exitcode
}
errormsg() { echo "${0##*/}: $@" >&2 ; }
Občas se hodí udělat ten program trochu ukecanější.
#debug info
debug() {
[ "$debug" == 1 ] && errormsg "debug: $@"
}
debugvar() {
for i
do
debug "${IFS:1:1}variable $i: '${!i}'"
done
}
Tohle už tu bylo, ale trocha opakování ještě nikoho nezabila.
# usage
usage() {
cat >&2 <<EOF
Usage: ${0##*/} [switches] [release_type]
-h | --help print help
-c | --create print template for defined files list (to stdout)
-l <filename> | --listfile=<filename> determine alternative filename for listfile
-t | --test only test listfile
-d | --debug print debug informations
EOF
[ $# -ge 1 ] && exit $1
}
# get options
params=$(
getopt -n "${0##*/}" -l help,create,listfile:,test,debug -o hcl:td -- "$@"
)
[ $? != 0 ] && usage 1
# remove quotes
eval set -- "$params"
unset params
# handle parameters
while :
do
case "$1" in
-h|--help) usage 0;;
-c|--create) create_listfile ;;
-l|--listfile) shift
[ ${1:0:1} == '/' ] &&
listfile=$1 ||
listfile=$origdir/$1 ;;
-t|--test) test=1;;
-d|--debug) debug=1;;
--) shift; break ;;
*) error 32 "Internal Error: Inconsistent getopt params!";;
esac
shift
done
A to je pro dnešek vše přátelé.
Tiskni
Sdílej:
tak by jsmeEt tu, Brute?