Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
import pyinotify import functools import sys wm = pyinotify.WatchManager() # Watch Manager mask = pyinotify.IN_CREATE # watched events class Trieda(object): def zobraz(self, pathname): print pathname def on_loop(notifier, trieda): trieda.zobraz(notifier.pathname) on_loop_func = functools.partial(on_loop, trieda=Trieda()) notifier = pyinotify.Notifier(wm, on_loop_func) wdd = wm.add_watch('/tmp', mask, rec=True) notifier.loop()
class mojeTrida: # moje trida, ktera ma na starosti danou akci nad soubory ... def monitorMode(dir) # Az po zavolani teto metody vim, ze uzivatel chce pouzit monitorovaci rezim # Tady nekde by melo byt to cekani na nove tvoreny soubor # Jakmile zjistim, ze mam novy soubor, vezmu jeho jmeno a zavolam metodu # __zpracujSoubor s parametrem nazev noveho souboru if mameNovySobor: self.__zpracujSoubor(file) def __zpracujSoubor(file) # zakladni metoda tridy, ktera provadi danou akci nad souborem # ========= main ========= # Na zacatku programu pouze zalovam metodu na monitorovani slozky inst = mojeTrida() inst.monitorMode("/home/user/test")
import pyinotify class mojeTrida: def monitorMode(self, dir): wm = pyinotify.WatchManager() notifier = pyinotify.Notifier(wm, self.__process_event) wdd = wm.add_watch(dir, pyinotify.IN_CREATE, rec=True) notifier.loop() def __process_event(self, notifier): self.__zpracujSoubor(notifier.pathname) def __zpracujSoubor(self, file): print file inst = mojeTrida() inst.monitorMode("/tmp")
import pyinotify import re class mojeTrida: def monitorMode(self, dir): wm = pyinotify.WatchManager() notifier = pyinotify.Notifier(wm) incl_lst = ['.*/apache[0-9]+\.log', '.*~'] self._lregex = [] for regex in incl_lst: self._lregex.append(re.compile(regex, re.UNICODE)) wdd = wm.add_watch(dir, pyinotify.IN_CREATE, rec=True, proc_fun=self.__process_event) notifier.loop() def __process_event(self, event): path = event.pathname for regex in self._lregex: if regex.match(path) is not None: self.__zpracujSoubor(path) break def __zpracujSoubor(self, file): print file inst = mojeTrida() inst.monitorMode("/tmp")(možno by bolo lepšie, keby sa tie vzory predávali ako parameter funkcie monitorMode)
Tiskni
Sdílej: