Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.
V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.
Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých
… více »V úterý 13. ledna 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 5. Mobile Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a související infrastrukturu. Akci pořádá David Heidelberg.
… více »Už je 14 dní zbývá do začátku osmého ročníku komunitního setkání nejen českých a slovenských správců sítí CSNOG 2026. Registrace na akci je stále otevřená, ale termín uzávěrky se blíží. I proto organizátoři doporučují, aby se zájemci přihlásili brzy, nejlépe ještě tento týden.
… více »Rok 2026 sotva začal, ale už v prvním týdnu se nashromáždilo nezvykle mnoho zajímavostí, událostí a zpráv. Jedno je ale jisté - už ve středu se koná Virtuální Bastlírna - online setkání techniků, bastlířů a ajťáků, kam rozhodně doražte, ideálně s mikrofonem a kamerou a zapojte se do diskuze o zajímavých technických tématech.
Dějí se i ne zcela šťastné věci – zdražování a nedostupnost RAM a SSD, nedostatek waferů, 3€ clo na každou položku z Číny … více »Vývojáři GNOME a Firefoxu zvažují ve výchozím nastavení vypnutí funkce vkládání prostředním tlačítkem myši. Zdůvodnění: "U většiny uživatelů tento X11ism způsobuje neočekávané chování".
Nástroj pro obnovu dat GNU ddrescue (Wikipedie) byl vydán v nové verzi 1.30. Vylepšena byla automatická obnova z disků s poškozenou čtecí hlavou.
Protokol IPv6 má již 30 let. První návrh specifikace RFC 1883 je z prosince 1995.
Byli vyhlášeni vítězové ocenění Steam Awards 2025. Hrou roku a současně nejlepší hrou, která vám nejde, je Hollow Knight: Silksong.
Učím se psát jednodušší skriptíky v Bashi. Chystám se napsat v Bashi "prográmek". Tak jsem vytvořil takovou knihovničku funkcí pro práci s čísly. A rád bych se s vámi o ni podělil. Doufám, že vám k něčemu bude, i když třeba jenom pro pobavení.
#!/bin/bash
#********************************************************************************************
## numbers.sh
## autor: Václav Radoměřský
## leden 2009
## licence: GNU GPL verze 2 nebo 3 nebo novější, nebo modifikovaná ("trojbodová") BSD licence
#********************************************************************************************
# Je to vlastně jakási "knihovna" funkcí, kterou můžete do svého shellového skriptu
# vložit příkazem source (.), příklad:
# source /cesta/numbers.sh
# nebo: . /cesta/numbers.sh
# Otestováno (je funkční) v Bash verze 3.2.39(1). Pokud nemáte extrémně starou verzi Bashe,
# tak by to mělo jet.
success=0
# hodnota, kterou budou funkce vracet v případě "úspěchu" (pravdy)
error=-1
# To je hodnota, kterou navrátí vybrané funkce v případě chyby
rrandom_number=-1
# rrandom_number je proměnná, ve které bude návratová hodnota funkce random_number
max_random=32767
# max_random udává největší pseudonáhodné číslo vrácené Bashem
min_random=0
# nejmenší pseudonáhodné číslo vracené Bashem
is_zero()
{
# Vrátí $succes, jestliže parametr číslo jedna je nula, jinak vrátí $error.
# Testujeme, zda byl funkci předán aspoň jeden argument
if [ $# -lt 1 ]
then
return $error
fi
# Testuje, zda dané číslo je rovno 0.
# napravo od =~ je regulární výraz
if [[ "${1}" =~ 0 ]]
then
return $success
else
return $error
fi
}
is_positive_number()
{
# Otestuje, zda $1 je kladné číslo. Vrátí hodnotu proměnné success, pokud argument je kladné číslo,
# jinak vrátí hodntou proměnné "error" (tedy ${error}).
# Testujeme, zda funkci byl předán aspoň jeden parametr ("argument")
if [ $# -lt 1 ]
then
return $error
fi
#
# Testujeme, zda první parametr je kladné číslo
# napravo od =~ je regulární výraz
if [[ "${1}" =~ ^[+]?[1-9]+[0-9]*$ ]]
then
return $success
else
return $error
fi
}
is_negative_number()
{
# Vrátí $succes, jestliže parametr číslo jedna je záporné číslo, jinak vrátí $error.
if [ $# -lt 1 ]
then
return $error
fi
# Napravo od =~ je regulární výraz.
if [[ "${1}" =~ ^-[1-9]+[0-9]*$ ]]
then
return $success
else
return $error
fi
}
is_nonnegative_number()
{
# Vrátí $success, pokud argument je nezáporné číslo, jinak vrátí $error.
if is_zero $1 || is_positive_number $1
then
return $success
else
return $error
fi
}
is_nonpositive_number()
{
# Vrátí $success v případě nekladného arguemntu (parametru), jinak vrátí $error.
if [ $# -lt 1 ]
then
return $error
fi
if is_zero $1 || is_negative_number $1
then
return $success
else
return $error
fi
}
is_number()
{
# Vrátí $succes, jestliže první parametr je číslo, jinak vrátí $error.
if [ $# -lt 1 ]
then
return $error
fi
if is_nonnegative_number $1 || is_nonpositive_number $1
then
return $success
else
return $error
fi
}
compare_numbers()
{
# Funkce porovná dvě čísla -- $1 a $2.
# Vrátí $success, pokud je druhý parametr funkce větší než první.
# Jinak vrátí hodnotu $error.
#
# Otestujeme, zda jsme dostali aspoň dva parametry (argumenty) a zda to jsou čísla.
if [ $# -ge 2 ] && is_number $1 && is_number $2
then
if [ $2 -gt $1 ]
then
return $success
else
return $error
fi
else
return $error
fi
}
random_number()
{
# Vrátí pseudonáhodné číslo z intervalu <$1;$2>.
# $1 musí být menší než $2.
# Tato funkce využívá "proměnné" RANDOM.
# Otestujeme, zda jsme dostali aspoň dva parametry ("argumenty"). V případě že ne, skončím s chybou.
if [ $# -lt 2 ]
then
return $error
fi
# Funkce compare_numbers nám zkontroluje, zda se jedná o čísla a zda je $2 > $1.
if compare_numbers $1 $2
then
rrandom_number=$RANDOM
# "Proměnná" RANDOM generuje pseudonáhodá čísla, viz man bash.
delka_intervalu=$(($2-$1))
max_delka_intervalu=$(($max_random-$min_random))
procentni_podil=$((( $rrandom_number-$min_random )*100/$max_delka_intervalu))
rrandom_number=$(($1+$procentni_podil*$delka_intervalu/100))
else
return $error
fi
}
Tiskni
Sdílej:
Není to zbytečně komplikované ? Jakou výhodu má třeba použití funkce is_nonnegative_number() místo klasického [[ $X -ge 0 ]] ? Taky mi příjde trošku těžkopádné používat regulární výrazy na to abych zjistil, zda je proměnná rovna nule.
Ale jako tréningový script to není špatné.
\u@\h:\w$ a=blarf
\u@\h:\w$ [ $a -eq 0 ] && echo 1;
[: 2: Illegal number: blarf
\u@\h:\w$ [ $a -eq 0 ] || echo 0;
[: 3: Illegal number: blarf
0
Ale jako tréningový script to není špatné.
Díky. 
Načo je dobré používať blok na jeden príkaz?
if [ $# -lt 1 ]
then
return $error
fi
.. namiesto ..
[ $# -lt 1 ] && return $error
Vidieť to v skriptoch dosť často, tak neviem, asi to príde niekomu prehľadnejšie.
then na stejném řádku s if a tělo bylo odsazené, považoval bych to za přehlednější.
Zdravim.
Dobry napad
ale trochu se mi nelibi ta kontrola poctu argumentu. Teda ona ta kontrola samotna je v poradku, ale i kdyz funkci nepredate pozadovany pocet argumentu, tak pokracujete v behu funkce. Pouze funkce compare_numbers se takto nechova, ale ja bych i tam tu kontrolu rozdelil na dva ify - v prvnim pocet argumentu a az v pripade spravneho poctu kontrola, zda to jsou cisla.
No a pokracovat muzete rozsirenim na desetinna cisla a na osmickova a hexa-cisla
.