Fugleramme, v překladu 'ptačí rámeček', je open-source projekt postavený na Raspberry Pi, který pomocí lokální umělé inteligence BirdNET-Go rozpoznává ptačí druhy podle jejich zpěvu a na displeji následně zobrazuje koláž tvořenou odpovídajícími ilustracemi. Databáze obsahuje přes 800 ručně vybraných historických přírodovědných ilustrací více než 400 druhů ptáků.
… více »Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 18.0. Přidáno bylo 13 007 nových znaků. Celkově jich je 172 808. Přibylo 9 nových Emoji.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 169 (pdf).
Byla vydána nová verze 6.4 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Německý kancléř Friedrich Merz (CDU) se během debaty s finalisty studentské vědecké soutěže Jugend forscht vyjádřil pro konec anonymity na internetu a vyslovil názor, že pro uživatele Internetu by měla platit podobná právní odpovědnost jako pro novináře tradičních médií. Na dotaz studenta, jak by se tedy povinnost uvádět pravé jméno slučovala s prací investigativních novinářů nebo ochranou jejich zdrojů, Merz neodpověděl, ve své
… více »Společnost Fujitsu představila FUJITSU-MONAKA CPU a Fujitsu MONAKA Server. Navrženo, vyvinuto a vyrobeno v Japonsku. Pro suverénní AI infrastrukturu.
Předprodej v květnu představených notebooků Googlebook, nástupců notebooků Chromebook, bude spuštěn v pondělí 21. září.
Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.
Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.
OpenAI spolupracuje s konkurenty Anthropic a Google DeepMind ze skupiny Alphabet na bezpečnosti umělé inteligence (AI). Globální obavy ohledně existenčních rizik umělé inteligence vzrostly poté, co se o víkendu sešli vedoucí předních amerických firem z odvětví AI a vyzvali k pozastavení vývoje technologie.
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: