Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).
Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.
Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.
Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.
Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.
Vyhledávač DuckDuckGo je podle webu DownDetector od 2:15 SELČ nedostupný. Opět fungovat začal na několik minut zhruba v 15:15. Další služby nesouvisející přímo s vyhledáváním, jako mapy a AI asistent jsou dostupné. Pro některé dotazy během výpadku stále funguje zobrazování například textu z Wikipedie.
Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).
Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
TepSonic je malý, jednoduchý, rychlý, multiplatformní audio přehrávač napsaný v C++ a Qt, který bych rád představil i komunitě tady, na abíčku.
TepSonic, podobně jako třeba Amarok, podporuje kolekce. Data se ukládají do SQLite nebo MySQL databáze. Je snadno rozšiřitený formou pluginů, ale zatím má jen plugin pro spojení se službou na Last.fm. Nemá moc žádných hustodémonsky-übercool featur, cílem je, aby byl malý a uměl hlavně to, co opravdu potřebuju. Nebráním se samozřejmě návrhům na nové funkce - pokud budou mít smysl a užitek, proč ne?!
Pro načítání metadat používá osvědčenou a prověřenou knihovnu taglib. Last.fm scrobbler plugin ještě donedávna používal vlastní implementaci Last.fm API, přešel jsem ale na lastfmlib (neplést s liblastfm!), která je dokonalejší než moje vlastní implementace.
Očekávám, že se objeví v diskuzi otázky typu proč radši nepřispívám do existujících projektů, takže tu i rovnou odpovím: myslím si, že tvorbou vlastního programu se naučím víc, než jen posíláním patchů do jiného projektu - takhle se naučím i něco o návrhu aplikací. Což je pravda - většinu částí jen přepisuju, jak se postupně učím řešit věci lépe.
V současnosti TepSonic podporuje 3 základní platformy: primárně Linux, ale funguje i na Windows (ačkoliv tam jsou nějaké potíže se stabilitou), a díky Petru Vaňkovi jde přeložit i na Macovi (ale nevím, jak to běhá). Ani ne za měsíc budu na privátu mít k dispozici Macbook, takže to budu moct pořádně testovat i verzi pro Macka.
Pokud někdo budete mít chuť, budu rád, když TepSonic vyzkoušíte. Uvítal bych nějakou konstruktivní kritiku, feedback, bug reporty, rád se nechám poučit jak udělat věci lépe.
Zdrojáky: git clone http://git.gitorious.org/tepsonic/tepsonic.git
Homepage: www.tepsonic.org
Bugzilla: bugs.tepsonic.org
Chtěl jsem založit i mailinglisty, ale asi bych si v nich povídal jen sám, takže zatím pokud máte nějaké připomínky, email vratil zavináč progdansoft tečka com nebo jabber progdan@jabber.cz to jistí :)
Tiskni
Sdílej:
pak jeste takova vec, mp3 a flacy mi tepsonic normalne prehraje, ale wma ignoruje, ani je neprida do kolekce. s tim by se taky melo neco udelat, jestli to hraje pres nejakej xine backend tak ten by to mel normalne umet.
no snad sem se vyzvejk jasne a srozumitelne co mi tam chybi, ale pro jistotu to este shrnu - prehravani wma a podpora various artist v kolekci (primo nutnost pro vybery a soundtracky).co mi tam chybi ... prehravani wmaKeďže ten prehrávač je len GUI k phonon, tak musíš prehrávanie wma súborov riešiť práve tam (FFmpeg si s wma poradí, takže to je asi len vec správnych prepínačov pri kompilovaní).
a nebo z pohodlnosti zustanu u konzolovyho MOC (ten to bere podle adresaru a souboru a zadny kolekce neresi, jen playlist)
hustodémonsky-übercoolKterej rok to bylo naposledy vtipný? Jinak program nevypadá špatně. Dokonce bych řekl, že vypadá skoro stejně dobře jako Rhythmbox. ;)
Očekávám, že se objeví v diskuzi otázky typu proč radši nepřispívám do existujících projektů, takže tu i rovnou odpovímTakové otázky vesměs pokládají přihřátí lemplové, co nikdy nikam nepřispěli. Zaráží mě, že se jim to ještě někdo snaží vysvětlovat. Když budeš chtít, můžeš si napsat třeba padesát takových programů - a jim po tom bude pořád stejné hovno.
[kotyz@behemot ~]$ tepsonic
TepSonic(7825): ""CurrencyIntroducedDate" - conversion of "" to QDate failed" " (wrong format: expected 3 items, got 1)"
TepSonic(7825): ""CurrencyIntroducedDate" - conversion of "" to QDate failed" " (wrong format: expected 3 items, got 1)"
Searching in ("/usr/bin/plugins", "/usr/lib")
()
Database revisions don't match: Found revision "5" , expected revision "6"
Collections will be rebuilt
Initializing database structure
Database revisions don't match: Found revision "5" , expected revision "6"
Collections will be rebuilt
Initializing database structure
Loading plugin "/usr/lib/libtepsonic_lastfmscrobbler.so.0.2.0"
Starting collections update...
the final supported extension list: ("*.ac3", "*.flac", "*.mp3", "*.mp4", "*.ogg", "*.wav", "*.wma", "*.aif", "*.aiff", "*.asf", "*.mp2", "*.mpc", "*.ra", "*.ram", "*.wv")
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
Neoprávněný přístup do paměti (SIGSEGV)
spolecne udelame z tepsonicu lepsi program! (jeste mam v rukavu par poznamek ohledne vzhledu, ale ty si necham na pozdeji, az nebudou dulezitejsi veci k predelani).
(gdb) bt #0 0x0000000000460f23 in CollectionBuilder::insertTrack (this=0xb56780, filename=..., sqlDB=0xb64360) at /home/vojta/scm/tepsonic/player/collections/collectionbuilder.cpp:200 #1 0x000000000045fc97 in CollectionBuilder::run (this=0xb56780) at /home/vojta/scm/tepsonic/player/collections/collectionbuilder.cpp:117 #2 0x00007ffff6b29a35 in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007ffff51a0644 in start_thread () from /lib/libpthread.so.0 #4 0x00007ffff5b8abfd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? ()