Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na
… více »Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.
Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.
Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Odkazy
Nedávno som začal viac-menej z donútenia (škola) robiť nejaký program ako semestrálku v pythonovi. Konkrétne som si povedal, že urobím gui k boinc_client-ovi. Prekvapilo ma ale, že aplikácia zaberá stále viac RAM.
Takže po dlhom skúmaní som došiel k záveru, že problém je niekde okolo riadku s data = QVariant.fromList(...). Tak som urobil malý programík v pythonovi na ktorom by som si vyskúšal ako sa dá uvoľniť táto pamäť. Takže obsah toho malého programíku:
from PyQt4.QtCore import QVariant
while True:
zoznam = QVariant.fromList([QVariant('text1'), QVariant('text2')])
zoznam.clear()
del(zoznam)
Predpokladám, že tento kód v pythonovi by mal byť ekvivalentný s nasledujúcim programom v C++:
#include <QVariant>
#include <QList>
int main(int argc, char *argv[])
{
while (1)
{
QList<QVariant> zoznam;
zoznam.append(QVariant("text1"));
zoznam.append(QVariant("text2"));
QVariant variant = QVariant(zoznam);
}
}
Napriek tomu po spustení programu v pythonovi sa obsadená RAM stále zväčšuje zatiaľ čo v C++ nie. Robím niečo zle alebo je chyba skutočne niekde mimo môjho kódu? Robí to problémy aj ostatným užívateľom alebo len mne (napríklad preto, že PyQt4 zle skompiloval)?
Pre tých ktorí chcú vidieť čo to vlastne robím som prihodil aj screenshoty, prípadne môžete pozrieť video, zdrojové kódy nedám, hambím sa za ne.
Tiskni
Sdílej:
QVariant variant = QVariant(zoznam);Ten řádek je k ničemu...
noo, medzi tymi testami je viacero rozdielov... najzasadnejsi ale asi v tom, ze v c++ kode sa ti tie objekty naozaj uvolnia z RAM, kym v pythone je garbage collector.. skus tam este ked tak pridat import gc; gc.collect() za ten kod 'del'
gc.set_debug(gc.DEBUG_LEAK). V gc.garbage bys pak měl mít seznam objektů, které se nedají uvolnit.
gc.collect() program spíše jenom zpomalí, takže se zdá, že to něco řeší, ale vždy vrátí 0 uvolněných objektů. Co narůstá je počet objektů (gc.get_objects()), přičemž garbage collector se zdá pracuje, protože počet objektů v jednotlivých generací gc.get_count() roste, ale taky klesá.
Při nastaveném gc.DEBUG_STATS to naopak vypadá, že collector nepracuje, protože počet objektů roste. Ale ony si údaje gc.get_count() a to, co vypisuje gc samotný, moc neodpovídají.
gc: done. gc: collecting generation 0... gc: objects in each generation: 703 6300 58705 gc: done. gc: collecting generation 0... gc: objects in each generation: 703 7000 58705 gc: done. gc: collecting generation 1... gc: objects in each generation: 703 7700 58705 gc: done. gc: collecting generation 0... gc: objects in each generation: 703 0 67105Podle mě je to bug a mělo by to být oznámeno autorům PyQt4.