Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.
Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si
… více »Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.
Soutěž Pwn2Own Ireland 2026 skončila 9. října. Bezpečnostní výzkumníci získali celkem 1 262 000 dolarů na odměnách. Během soutěže bylo předvedeno zneužití 98 zero-day zranitelností. Testování zahrnovalo různé kategorie zařízení a software. Výzkumníci předváděli prakticky fungující útoky podle pravidel soutěže. Výsledky následně slouží výrobcům při přípravě oprav. Mezi pokořenými jsou: Samsung Galaxy S26, OpenAI Codex, Oracle Autonomous AI Database, Google Pixel 10, u iPhone 17 neuspěli.
Programovací jazyk Python byl vydán v nové verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.
BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.
V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."
P41PR SP62TZ P24LS P25NR P112HX P26HU SP36BU SP1V4JDa potrebuju je upravit aby ctvrty znak od konce byla mezera.
P4 1PR SP6 2TZ P2 4LS P2 5NR P11 2HX P2 6HU SP3 6BU SP1V 4JDMuzete me nakopnout jak to udelat se sed-em? Predem diky.
sed nebral:
while read line; do
echo ${line:0:${#line}-3} ${line:${#line}-3}
done
Kontrolu pro příliš krátké řetězce si už doplníte sám.
sed 's/\(^.*\)\(...$\)/\1 \2/' soubor_s_tema_kodama
sed 's/\(...\)$/ \1/'
sed -e 's/\(.*\)\(...\)$/\1 \2/' soubor
file('soubor2', 'w').writelines(([a[:-4]+' '+a[-4:] for a in file('soubor')]))
Fůůůůj
V době, kdy se rozmáhají "chytré krabičky", do kterých si lidé cpou speciální distribuce, je třeba mít se na pozoru, řekl bych. A na IRIXu a Solarisu mi to taky bude k ničemu, pokud se nerozhodnu stáhnout si extra binárky z nekochan.net nebo něčeho podobného pro Solaris. Na dvou třetinách strojů doma Python nemám, protože na nich potřeba nebyl, a kdybych potřeboval jenom přidat mezeru do sloupce, těžko bych ho kvůli tomu instaloval. Kdybych tam rozhcházel třeba CherryPy, samozřejmě bych těžko mohl jinak, ale kvůli mezeře do souboru?
Pokud jde o "počet znaků", prostě mi uchází, proč to dělat složitě, když to jde jednoduše, nástrojem přesně k tomuto účelu zamýšleným.
)perl -ne 's/(?<=...)$/ /; print'
„perl -ne“
Ano, tak s tím nelze nesouhlasit. Perl opravdu ne.
perl -pe 's/(?=...$)/ /'
"No a v tomto konkrétním případě jste určitě mohl vymyslet lepší důvody pro kritiku než počet znaků zdrojáku či "pravděpodobnost dostupnosti nástroje"."Kdybyste navrhoval embedded zařízení, dáte tam raději _jeden_ nástroj (python - viz například mobil nokia S60)
Já bych to nebral tak úplně na lehkou váhu.V době, kdy se rozmáhají "chytré krabičky", do kterých si lidé cpou speciální distribuce, je třeba mít se na pozoru, řekl bych.
A na IRIXu a Solarisu mi to taky bude k ničemu, pokud se nerozhodnu stáhnout si extra binárky z nekochan.net nebo něčeho podobného pro Solaris. Na dvou třetinách strojů doma Python nemám, protože na nich potřeba nebyl, a kdybych potřeboval jenom přidat mezeru do sloupce, těžko bych ho kvůli tomu instaloval.To, že jste se rozhodl nenainstalovat python je pouze vaše osobní věc. Nic to nevypovídá o obtížnosti instalace, dostupnosti nebo použitelnosti.
Kdybych tam rozhcházel třeba CherryPy, samozřejmě bych těžko mohl jinak, ale kvůli mezeře do souboru?Viz výše,![]()
Pokud jde o "počet znaků", prostě mi uchází, proč to dělat složitě, když to jde jednoduše, nástrojem přesně k tomuto účelu zamýšleným.Takže čím méně znaků, tím je to podle vás jednodušší? Pak nechápu, proč se tak distancujete od mocného Perlu

$ time sed -e 's/\(...\)$/ \1/' soubor > /dev/null real 0m38.281s user 0m37.978s sys 0m0.212s $ time ./pridej_mezeru.py > /dev/null real 0m27.808s user 0m27.582s sys 0m0.128sPerl by pravděpodobně ve všem zvítězil, ale bohužel je tam nějaká chyba a já to nedákážu ani přečíst, natož opravit.
perl -ne 's/(...)$/ $1/; print'ale nefandil by som mu, regexp bude pomalsi ako priame vypisovanie retazca, co by mohlo byt nasledovne
perl -ne 'substr $_, -4, 0, " " if length > 4; print'
$ time perl -ne 's/(...)$/ $1/; print' soubor > /dev/null real 1m4.121s user 1m0.340s sys 0m0.192sAle ten druhý případ dává perlu jasné vítězství:
$ time perl -ne 'substr $_, -4, 0, " " if length > 4; print' soubor > /dev/null real 0m14.447s user 0m13.433s sys 0m0.236sProti perlu nemám s Pythonem šanci. Především proto, že čitelnost kódu nelze měřit
perl -pe 'substr$_,-4,0," "if length>3'
"To, že jste se rozhodl nenainstalovat python je pouze vaše osobní věc. Nic to nevypovídá o obtížnosti instalace, dostupnosti nebo použitelnosti."
Jde o to, že regulární výraz pro sed napíšu po zralé úvaze za půlminutu. Sehnání a instalace Pythonu se mi za půlminutu nepovede.
Od Perlu se nedistancuju, to byl jen vtip.
Nicméně přeci jen upřednostňuju méně terse řešení pro velké věci, ale pro takovou drobnost mi zápis sedu přijde jako "just right". Je to asi subjektivní, ale pokud vidím
sed 's/\(...\)$/ \1/'
a snažím se přijít na to, co dělá konkrétního (že sed zpracovává stream, je mi jasné, je to stream editor), mám 75 % textu věnovaného konkrétnímu problému. Kdežto tady
file('soubor2', 'w').writelines(([a[:-4]+' '+a[-4:] for a in file('soubor')]))
je ta nejpodstatnější část ([a[:-4]+' '+a[-4:]) ukrytá v cca. 16 % textu a nejprve se musím prolouskat tím, co ten obecný interpret má v tomhle konkrétním případě vlastně momentálně má za úkol. Jistě, je to ovlivněno psychologií, aktuálními znalostmi jednotlivých nástrojů a vůbec je to subjektivní, ale předpokládá, že v tomhle nebudu sám.
Vida! Mohl bych, prosím pěkně, dostat zdrojový kód obou textů a ten soubor nebo jeho generátor, třeba zapakované? Mohl bych to vyzkoušet s jednou zajímavou knihovnou a přesvědčit se, jak je opravdu rychlá... Tedy jinak řečeno, přidat ještě jedno řešení.Jasně, s tím generátorem jsem moc na veřejnost jít nechtěl, ale tady je![]()
file('soubor', 'w').writelines('pepazdepa\n' * 10000000)
A testoval jsem to myslím tímhle:
#!/usr/bin/env python
import sys
for line in file('soubor'):
sys.stdout.write(line[:-4] + ' ' + line[-4:])
Je to trochu pomalejší než ten one-liner, který jsem poslal předtím (ten prosím nepoužívat), ale zase to nesežere všechnu paměť 
Jakmile se večer dostanu k stroji s nějakým unixem...
ruby -ne 'print $_[0..-5]+" "+$_[-4..-1]' soubora:
#!/usr/bin/ruby
f = File.new("soubor")
f.each { |line| line.sub!(/(...)$/,' \1'); puts line}
f.closeale obě varianty rychlostně hodně zaostavají za sedem, perlem i pythonem.
$ time perl -pe 'substr$_,-4,0," "if length>3' test.txt > /dev/null real 0m0.070s user 0m0.050s sys 0m0.000s $ time python pridej_mezeru.py real 0m0.101s user 0m0.090s sys 0m0.010s $ time perl -pe 's/(?=...$)/ /' test.txt > /dev/null real 0m0.365s user 0m0.360s sys 0m0.000s $ time sed 's/\(...\)$/ \1/' test.txt > /dev/null real 0m0.522s user 0m0.500s sys 0m0.000s
$ time sh pridej_mezeru.sh <test.txt >/dev/null real 0m4.153s user 0m3.020s sys 0m0.100s
sed -e 's/\(...\)$/ \1/'mimochodom, ako sa to ma chovat, ak na riadku su menej ako tri znaky ?
Tiskni
Sdílej: