Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."
Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.
Organizace Apache Software Foundation (ASF) vydala verzi 26 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.
Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.
Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.
1. července Mozilla vypne službu Fakespot pro detekci podvodných recenzí v internetových obchodech. Mozilla koupila Fakespot v květnu 2023.
8. července Mozilla vypne službu Pocket (Wikipedie) pro ukládání článků z webu na později. Do 8. října si uživatelé mohou vyexportovat data. Mozilla koupila Pocket v únoru 2017. Několik měsíců byl Pocket integrovanou součástí Firefoxu.
Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.
if $a < $b; then echo "a < b" fiprosim vas ako ? najeko sa stale mocem dokola a nejde mi to ...?
if [ $(bc << EOF $a < $b EOF ) -eq 1 ]; then echo "a < b" else echo "a > b" fi
[ $(dc <<<"[1pq]sa$a $b>a0p") -eq 1 ] && echo "a < b" || echo "a > b"
function rnle() { test `echo -e "$1\\n$2" | sort -g | head -n 1` = $1 } function rnge() { test `echo -e "$1\\n$2" | sort -g | head -n 1` = $2 }
rnlt() { if [ ${1:0:1} == '-' -a ${2:0:1} == '-' ] then rngt ${1:1} ${2:1} return $? fi IFS='.' a=($1) b=($2) [ ${a[0]} -lt ${b[0]} ] && return 0 [ ${a[0]} -gt ${b[0]} ] && return 1 i=0 while : do [ -z "${a[1]:$i:1}" -a -n "${b[1]:$i:1}" ] && return 0 [ -z "${b[1]:$i:1}" ] && return 1 [ ${a[1]:$i:1} -lt ${b[1]:$i:1} ] && return 0 let i++ done } rngt() { if [ ${1:0:1} == '-' -a ${2:0:1} == '-' ] then rnlt ${1:1} ${2:1} return $? fi IFS='.' a=($1) b=($2) [ ${a[0]} -gt ${b[0]} ] && return 0 [ ${a[0]} -lt ${b[0]} ] && return 1 i=0 while : do [ -n "${a[1]:$i:1}" -a -z "${b[1]:$i:1}" ] && return 0 [ -z "${a[1]:$i:1}" ] && return 1 [ ${a[1]:$i:1} -gt ${b[1]:$i:1} ] && return 0 let i++ done }Teda zatím to není úplně blbuvzdorné a používá se to.
rnlt $a $b && echo 'a < b' || echo 'a >= b'
function rnle() { [ ${1/.*} -lt ${2/.*} ] && return 0 [ ${1/.*} -gt ${2/.*} ] && return 1 if [ ${1:0:1} = '-' ]; then [ ! ${1#*.}0 \> ${2#*.}0 ] else [ ! ${2#*.}0 \> ${1#*.}0 ] fi }
$ rnle 3.45 3.345 && echo OK OK $ rnle 3 3.345 && echo OK $Nicméně, když na to teď s odstupem koukám, tak je to fakt hnus, co takhle:
rnle() { IFS='.' a=($1) b=($2) [ $a -lt $b ] && return 0 [ $a -gt $b ] && return 1 if [ ${a:0:1} == '-' ] then a[0]=${b[1]} b=${a[1]} else a=${a[1]} b=${b[1]} fi for((i=${#a};i<${#b};i++)); do a=${a}0; done for((i=${#b};i<${#a};i++)); do b=${b}0; done [ $a -ge $b ] && return 1 return 0 }
function rnle() { [ ${1/.*} -lt ${2/.*} ] && return 0 [ ${1/.*} -gt ${2/.*} ] && return 1 if [ ${1:0:1} = '-' ]; then [ ! ${2#*.}0 \> ${1#*.}0 ] else [ ! ${1#*.}0 \> ${2#*.}0 ] fi }
rnlt() { if [ ${1/.*} -ne ${2/.*} ] then [ ${1/.*} -lt ${2/.*} ] elif [ ${1:0:1} = '-' ] then [ ${1#*.}0 \> ${2#*.}0 ] else [ ${2#*.}0 \> ${1#*.}0 ] fi }Tak dnešní kontest jsi vyhrál
function rnlt() { celacast_1=`echo $1|cut -d. -f 1`; descast_1=`echo $1|cut -d. -f 2`; celacast_2=`echo $2|cut -d. -f 1`; descast_2=`echo $2|cut -d. -f 2`; if [ $celacast_1 -eq $celacast_2 ] then if [ $celacast_1 -lt 0 ] then descast_1=`expr -1 \* $descast_1`; descast_2=`expr -1 \* $descast_2`; fi [ $descast_1 -lt $descast_2 ]&& return 0; return 1; else [ $celacast_1 -lt $celacast_2 ]&& return 0; return 1; fi }
${variable#pattern}
, ${variable%pattern}
a používat IFS
by ušetřilo hodně zbytečných subprocesů.
Tiskni
Sdílej: