Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
sed 's/\([0-9][0-9][0-9]\)$/ \1/g'ale to mi udělá pouze do tisíců.. Nelze nějak nastavit, aby se příkaz (například
's/\([0-9][0-9][0-9] \)$/ \1/g'
) opakoval, dokud neudělá už žádnou další změnu? Se sedem pracuji asi celé dvě hodiny, takže se moc nevyznám... Za každé nakupnutí moc díky!
echo 1234567890 \ | rev \ | sed -re 's/([0-9]{3})/\1 /g' -e 's/ $//' \ | rev:-) Ale určitě to jde nějak inteligentněji…
a=1234567890 while true; do b=`echo "$a" | sed -re 's/([0-9])([0-9]{3})\>/\1 \2/'` if [ "$b" = "$a" ]; then break; fi a="$b" done echo "$a":-)
sed -re ':1; s/([0-9])([0-9]{3})\>/\1 \2/; t1'
perl -pe 's/(?<=\d)(?=(\d{3})+\D)/ /g;'Pro srovnání ekvivalent toho sedového řešení, tedy aplikace regexpu na jedn řádek dokud se něco matchne, ale s využitím look-ahead/behid (many)
perl -pe 'while(s/(?<=\d)(?=\d{3}\D)/ /){}'a nakonec úplný ekvivalent toho sedu (normal)
perl -pe 'while(s/(\d)(\d{3}\D)/$1 $2/){}'A srovnání rychlosti
Rate one many normal one 69367/s -- -10% -47% many 77244/s 11% -- -40% normal 129705/s 87% 68% --Což mě teda přinejmenším hodně překvapilo, že to úplně obyčejné řešení je zároveň nejrychlejší.
Benchmark
modul v perlu nad třemi řetězci načtenými z DATA
. Musel bych nějak vymyslet jak omezit vliv natahování sed a rev do paměti a nad tím se mi teď nechce přemýšlet. Jinak zdroják testu:#!/usr/bin/env perl use strict; use warnings; use Benchmark qw(cmpthese); my @strs = <DATA>; cmpthese(-2, { one => sub { foreach (@strs) { s/(?<=\d)(?=(\d{3})+\D)/ /go; } }, many => sub { foreach (@strs) { while (s/(?<=\d)(?=\d{3}\D)/ /o){} } }, normal => sub { foreach (@strs) { while (s/(\d)(\d{3}\D)/$1 $2/o){} } } }); __DATA__ 1234567890 hwiehwfuih 1246537245735 __END__
strfmon()
, něco jako je printf(1)
vůči printf(3)
.
Tiskni Sdílej: