Ve Firefoxu bude lepší správa profilů (oddělené nastavení domovské stránky, nastavení lišt, instalace rozšíření, uložení hesla, přidání záložky atd.). Nový grafický správce profilů bude postupně zaváděn od 14.října.
Canonical vydal (email) Ubuntu 25.10 Questing Quokka. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2026.
ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.
Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Jako bych slyšel ironii ... ale máš pravdu ...
less --follow-name
tail -f
) program
https://klogg.filimonov.dev anebo
https://glogg.bonnefon.org/index.html
Programy tail, more a všechny ostatní metody nesplňovaly moje požadavky ( nebo neumím číst man a google ).Nebýval kdysi tohle portál pro fanoušky linuxu?
import os import time class TailFIterator: """ Text file iterator, which yields new lines added to the file, like tail -F. It can detect when the file descriptor was changed (logrotated) or the file was truncated (also used by logrotate). You can overload: .on_file_not_found() To change behaviour when the file was followed, but was deleted in the process (logrotated). Standard behaviour is to wait 5 seconds, try again forever. See also .file_not_found_counter for details. .on_no_changes_detected() To decide what to do when no change was detected. Default is to wait 1s. """ def __init__(self, file_path: str, file_mode: str = "rt"): self.file_size = 0 self.file_path = file_path self.file_mode = file_mode self.inode_number = os.stat(file_path).st_ino self.logfile = open(file_path, self.file_mode) self.file_not_found_counter = 0 def __iter__(self): while True: try: size = self._get_current_size() self.file_not_found_counter = 0 except FileNotFoundError as e: self.file_not_found_counter += 1 self.on_file_not_found(self.file_not_found_counter, e) continue if size > self.file_size: self.logfile.seek(self.file_size) for line in self.logfile: yield line self.file_size = self.logfile.tell() # in case the .truncate() was called elif size < self.file_size: self._check_and_handle_logrotate() self.file_size = 0 continue if self._check_and_handle_logrotate(): continue self.on_no_changes_detected() def _get_current_size(self) -> int: return os.stat(self.file_path).st_size def _check_and_handle_logrotate(self) -> bool: current_file_info = os.stat(self.file_path) current_inode_number = current_file_info.st_ino if current_inode_number != self.inode_number: self.inode_number = current_file_info.st_ino self.logfile = open(self.file_path, self.file_mode) self.file_size = 0 return True def on_file_not_found(self, file_not_found_counter: int, exception): if file_not_found_counter > 5: raise exception time.sleep(5) def on_no_changes_detected(self): time.sleep(1)(Psal jsem kdysi pro jeden starší projekt co běžel někde kam jsem nechtěl tahat závislosti).
Děkuji za fakt šikovné podněty ... I komentátorům vašeho příspěvku... Zvlášť Jenda musel prohrabávat staré (.. co - prastaré) archivy, aby našel prastarý kód ( i když podle syntaxe možná zase tak prastarý není, ale stejně) ... fakt dík :)Je to několik let staré, prohledávat jsem nemusel, mám v notionu složku se snippety kam si házím použitelné věci a různé ukázky.
\b(ERROR|INFO|WARN)\b
Výhoda je, že to nebude matchovat třeba information nebo terror.
Escape HTML - například <1> by se měla změnit na <1> , jinak to může být hezký námět nat code injection
Tiskni
Sdílej: