OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.
Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.
OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).
Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek
… více »Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.
Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.
Nástroj, který vyhledá neaktuální spuštěné aplikace
Rád bych vám představil svou bakalářskou práci. Začal jsem předčasně, neobhajoval jsem ji tedy v tomto školním roce, ale čeká mě to (snad) až v následujícím, což znamená, že nemám hotový produkt, ale něco, co doposud vidělo jen pár lidí. Nyní bych vám rád ukázal o co jde.
Když spustíme aplikaci, do paměti se načtou knihovny a soubory potřebné k jejímu běhu. Pokud je některá z knihoven, nebo samotná aplikace po dobu jejího běhu aktualizována, v paměti stále zůstanou původní soubory, přestože na disku už nemusí existovat (mohou být smazány, nebo nahrazeny novějšími verzemi). Pro uživatele není zrovna jednoduché zjistit, které aplikace mohla aktualizace systému ovlivnit. Můj prográmek, který jsem pojmenoval tracer, se snaží tento problém řešit - nalezne totiž takto ovlivněné aplikace, uživateli je vypíše a doporučí jejich restartování.
Myslím si, že to může být užitečné především u rolling distribucí, kde si uživatelé vlastně nemohou být na 100% jisti, zda jim aplikace/služba po rebootu opravdu naběhne, ale věřím, že tracer využije i spousta uživatelů klasických distribucí.
Zatím mám implementováno:
viz User Guide pro konkrétní ukázky použití a ukázky výstupů z programu. Veškeré návrhy na rozšíření funkcionality jsou vítány.
Dle zadání práce je primární podporovanou distribucí Fedora, ale nevidím důvod, proč by to nemohlo fungovat i jinde. Aktuálně program běží i na Gentoo a Debianu. Naportovat jej na jiné distribuce je samozřejmě možné a záleží spíše na tom, zda o to bude zájem.
Program je zatím řádně zabalíčkován pouze pro Fedoru. Pro Gentoo pak mám ebuild, ale ten ve skutečnosti udělá jen git clone aktuální verze z gitu, jediná přidaná hodnota je tedy to, že si pohlídá a nainstaluje závislosti. Všichni ostatní mají možnosti použít verzi z gitu bez balíčku, případně si to zabalíčkovat pro svou distribuci. Koukněte na Get Tracer.
Proč to sem píši? Kromě toho, že bych vám rád představil svůj projekt, rád bych zjistil, zda je o něco takového vůbec zájem a zda si najde své uživatele. Dále bych vás chtěl požádat o připomínky a feedback, který by mi pomohl přiblížit mou představu toho, jak by to mohlo vypadat, tomu, jak by chtěli uživatele, aby to vypadalo. Mohli jste si všimnout, že podporovaných distribucí zatím není mnoho. Určitě není v mých silách podporovat všechny sám, proto bych chtěl požádat vás, komunitu, abyste se v případě zájmu, zapojili. Ať už pouhým napsáním "Chtěl bych tento program používat na XY", nebo přímo zabalíčkováním a správou balíčku pro danou distribuci. V obou případech budu mít radost.
Tracer při své činnosti přistupuje (samozřejmě pouze čtením) k databázi balíčkovacího systému a zjišťuje určité informace. Při portaci na novou distribuci je potřeba dané funkce poskytnout. Vzhledem k tomu, že existuje podpora pro Debian, portovat tracer na cokoliv s dpkg by mohlo být otázkou pár řádků. Ovšem pro distribuce mající specifický balíčkovací systém, bude potřeba implementovat celý modul. Pokud by někdo měl zájem i o tohle, nechť mě libovolným způsobem kontaktuje. Vysvětlím a pomůžu se vším co bude potřeba. Předesílám, že opravdu nejde o raketovou vědu, ale o implementaci pár jednoduchých funkcí.
Nakonec, každý program je jiný a já nemůžu otestovat všech nekonečně mnoho, zda jej tracer opravdu najde. Proto pokud se vám stane, že ve výstupu bude nějaká aplikace chybět, nebo naopak přebývat, dejte prosím vědět.
Za každý přínosný komentář předem děkuji.
Tiskni
Sdílej:
checkrestart?
checkrestart nikdy neslyšel, takže děkuji. Určitě se na něj podívám, zkusím prozkoumat, jak to řeší oni.
Potom, BP pochází z RedHatu a jejich požadavkem bylo, aby ten nástroj byl funkční i na Fedoře. Což checkrestart nejspíš nesplňuje.
PS: Zrovna jsem to nainstaloval, vyzkoušel a subjektivně si myslím, že nemají příliš user-friendly výstup.
...v kvetnu jsem v nem opravovalo...Melo to byt "v kvetu se v nem opravovalo...", ja sam je neopravoval, jen jsem na jednu z nich narazil.
needs-restarting vím. Jako problém vidím to, že není user-friendly (stejně tak jako checkrestart pro debian, zmíněný výše. Už jen první pohled
[frostyx@localhost ~]$ sudo needs-restarting 1385 : gvim -f 961 : xfce4-terminal --geometry=80x24 --display :0.0 --role=xfce4-terminal-1404752667-2093205702 --show-menubar --show-borders --hide-toolbar --working-directory /home/frostyx --window --geometry=135x32 --display :0.0 --role=xfce4-terminal-1404680775--1537418211 --show-menubar --show-borders --hide-toolbar --working-directory /home/frostyx/dotfiles --tab --working-directory /home/frostyx/dotfiles/.vim/bundle/YouCompleteMe --sm-client-id 2163acf15-c689-4f32-b713-6d1b1c824234Oproti
[frostyx@localhost ~]$ sudo tracer gvim xfce4-terminalNavíc tracer umožňuje definovat pravidla pro konkrétní procesy. Takže mu můžu říci, že mě s nějakými polkit, udisks a gvfs procesy nemá otravovat, protože je stejně nemůžu restartovat. To je samozřejmě řízeno daty, takže v současné době existuje systémový soubor, který bude brzy obohacen o uživatelsky definovaný soubor někde v /etc případně /home. Taky si hlídám to, že nějaký proces spustil jiný a měl by být restartován za pomocí toho nadřazeného. Například jsem aktualizoval flash player, tak nechci aby se vypsal flash player, protože je ve skutečnosti potřeba restartovat chromium, aby se změna projevila.
Na openSUSE je 'zypper ps', který vypíše seznam programů a knihoven, jež se dotkl upgrade/dist-upgrade a je dobré je restartovat.
nebo zkus vymyslet nějakou zkratku (ideálně rekurzivní jako GNU nebo Wine), která bude relativně jedinečná.Manjaro (Archlinux), tak nemůžu ozkoušet, ale co pro tento proces:
/usr/bin/python2 /usr/share/system-config-printer/applet.py
upozorní mě to při povýšení system-config-printer, že mám restartovat system-config-printer-applet?
Jinak zajímavý počin
Pokud je některá z knihoven, nebo samotná aplikace po dobu jejího běhu aktualizována...
Eeeee?
Když spustíme aplikaci, do paměti se načtou knihovny a soubory potřebné k jejímu běhu. Pokud je některá z knihoven, nebo samotná aplikace po dobu jejího běhu aktualizována, ...Po dobu běhu té aplikace ... nevím, mě to zní normálně. Je to špatně?
Pokud jsou soubory některé z knihoven nebo samotné aplikace po dobu jejího běhu aktualizovány, ...Jde o to, že ty staré soubory mohou stále být na disku dokud jsou otevřené (platí automaticky pro binárku i knihovny běžícího procesu), protože soubor je smazaný až tehdy, když počet referencí na něj klesne na nulu. Běžící proces může s takovým souborem víceméně normálně pracovat, ale pro ostatní procesy je normálnímy prostředky nedostupný. PS: Je možné udělat takovýto program i bez podpory balíčkovacího systému, pokud by prolezl všechny procesy v
/proc a kouknul se, jesli některý nemá smazanou binárku nebo knihovnu (skrz soubor exe a maps), případně jestli nedrží otevřené soubory, které jsou smazané (symlinky v adresáři fd). Jen je třeba dát pozor na vlákna jádra, protože ty žádnou binárku nemají, ale není problém je poznat, protože nemají nic namapovaného a nemají nastavené prostředí. Jediná nevýhoda by byla, že by vypsal jen procesy, ale ne aplikace/služby. nicméně pokročilému uživateli by to nejspíš nevadilo ...
Jde o to, že ty staré soubory mohou stále být na disku dokud jsou otevřené (platí automaticky pro binárku i knihovny běžícího procesu), protože soubor je smazaný až tehdy, když počet referencí na něj klesne na nulu. Běžící proces může s takovým souborem víceméně normálně pracovat, ale pro ostatní procesy je normálnímy prostředky nedostupný.Já myslel, že ten proces má všechny soubory potřebné k běhu načtené v paměti a přistupuje k nim do paměti, ne na disk. Z hlediska implementace na tom stejně nezáleží, ale až budu psát dokumentaci k BP, tak si k tomu rozhodně něco přečtu, ať tam nenapíšu hlouposti. Díky.
Je možné udělat takovýto program i bez podpory balíčkovacího systému, pokud by prolezl všechny procesy v /proc a kouknul se, jesli některý nemá smazanou binárku nebo knihovnuTakže vlastně
lsof |grep deleted, najít cesty do souborového systému a ty procesy vypsat? To zní až moc jednoduše
. Zkusím to.
IMHO bude potřeba zkombinovat oba přístupy – předmětem aktualizace můžou být i datové soubory nebo třeba skript, který se jednou načte a pak už se jako otevřený soubor nedrží.
alias vyhnite='lsof | grep '\''DEL.*lib'\'' | cut -f 1 -d '\'' '\'' | sort -u'