Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od
… více »Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.
Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.
Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.
Rozšíření webového prohlížeče Urban VPN Proxy a další rozšíření od stejného vydavatele (např. 1ClickVPN Proxy, Urban Browser Guard či Urban Ad Blocker) od července 2025 skrytě zachytávají a odesílají celé konverzace uživatelů s AI nástroji (včetně ChatGPT, Claude, Gemini, Copilot aj.), a to nezávisle na tom, zda je VPN aktivní. Sběr probíhá bez možnosti jej uživatelsky vypnout a zahrnuje plný obsah dotazů a odpovědí, metadata relací i
… více »QStudio, tj. nástroj pro práci s SQL podporující více než 30 databází (MySQL, PostgreSQL, DuckDB, QuestDB, kdb+, …), se stal s vydáním verze 5.0 open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache 2.0.
"farbfeld" [šířka] [výška] [data obrázku - RGBA pixely]PNG obrázek:
"\x89PNG\x0D\x0A\x1A\x0A" [délka IHDR chunku] "IHDR" [šířka] [výška] [bit hloubka] [typ barvy] [komprese] [filtr] [prokládání] [CRC IHDR chunku] [délka IDAT chunku] "IDAT" [pixely obrázku komprimované pomocí defalte (zlib)] [CRC IDAT chunku] [délka IEND chunku (0)] "IEND" [CRC IEND chunku]Když v PNG vynecháme technické drobnosti okolo jednotlivých chunků, tedy délku a kontrolní součet, dostaneme:
"PNG" "IHDR" [šířka] [výška] [bit hloubka] [typ barvy] [komprese] [filtr] [prokládání] "IDAT" [pixely obrázku komprimované pomocí deflate (zlib)] "IEND"Jo, je tam navíc ta komprese, filtrování před kompresí a možné prokládání. Filtrování lze vypnout, prokládání také a zbývá už jen prosté volání zlib. A na to lze dodefinovat vlastní noop kompresi. (To mi přijde jako chyba v návrhu PNG, že komprese "0" je LZ77 a nic dalšího tam není. Čekal bych "0" jako žádnou kompresi a "1" jako LZ77 – filtry a prokládání tak udělané jsou.) PNG má ale obrovskou výhodu v tom, že do něj lze dostat další data a lze ho rozšiřovat. A pokud program nějakému chunku nerozumí, prostě ho zkopíruje do výsledku, nebo zahodí.
"farbfeld" [šířka] [výška] [data obrázku - RGBA pixely]Jak se to liší od PBM v binárním tvaru?
grafický formát měl být co nejjednodušší, snadno parsovatelný, jeho zpracování by mělo být možné pomocí rour a filtrů
Proto má PNG i textovou reprezentaci zvanou SNG (Scriptable Network Graphics), o které se píše např. v knize Umění programování v Unixu: Case Study: SNG a která je už dlouho v distribucích (např. aptitude install sng).
farbfeld (2016):
Current image formats have integrated compression, making it complicated to read the image data. One is forced to use complex libraries like libpng, libjpeg, libjpeg-turbo, giflib and others, read the documentation and write a lot of boilerplate in order to get started.
SNG (1999):
Rather than writing special-purpose code to grovel through the PNG binary format, the user can simply flip an image into an all-text representation, edit that, and massage it back. Another potential application is in making images amenable to version control; under most version-control systems, text files are much easier to manage than binary blobs, and diff operations on SNG representations actually have some possibility of yielding useful information.
V případě tak standardizovaných formátů jako je png však vidím jako rozumné řešení plugin pro daný verzovací systém, aby uměl zpracovávat vnitřní strukturu daného formátu a ukládat k němu diff data.Nebo používat verzovací systém ve stylu Gitu, kde mají rozdíly pouze uživatelskou a optimalizační funkci.
... nicméně pokud kompresní algoritmus "rozumí" komprimovaným datům bude vždy efektivnější, než univerzální nástroj ...tohle bych logicky taky ocekaval, nicmene v tom odkazovanym clanku pisou:
This effectively leads to filesizes you’d normally only reach with paletted images, and in some cases bz2 even beats png’s compression, for instance when you’re dealing with grayscale data, line drawings, decals and even photographs.Ale mozna to byly nejaky specialne vybrany priklady...
nicméně pokud kompresní algoritmus "rozumí" komprimovaným datům bude vždy efektivnějšíJá mám nahrávky řeči z FM rádia a bzip2 to komprimuje líp než flac.
Chápu to tak, že někdo navrhl, aby se obrázky uchovávaly v úplně novém, nezaběhaném a nijak na ukládání obrázků optimalizovaném formátu jenom proto, aby se s nimi líp (nebo unixovějc...) laborovalo v skriptech?Já to tak nechápu. Podle mě si někdo jen vytvořil minimalistický grafický formát pro sadu minimalistických nástrojů.
To mi přijde jako trochu flusnutí do tváře všem těm chudákům, kteří navrhovali novej, lepší obrazovej formát tak, že měl lepší a pokročilejší funkce, kvalitu nebo kompresi, než ty starší, a stejně s ním neuspěli.Oni jsou na flusání do tváře zvyklí a to od mnohem prominentnějších projektů než je suckless.
Mňa na tom najviac pobavilo vyhodenie podpory MNG kvôli veľkosti. V pohode vtrepeme do browsera podporu OpenGL ES, ale malý MNG dekóder sa tam nevojde.
bzip2 si umí poradit s obrázky. Čekal bych, že na obrázky jsou v těch formátech speciální algoritmy (stačí se jen podívat kolik metod umí vyzkoušet pngcrush) a že soubory budou menší.
Vyzkoušel jsem to na 1000 screenshotech z jedné hry (Tekkit
).
Původní velikost: 1787MB (nejsem si zcela jist, ale asi je to prohrané přes pngcrush, takže minimální velikost obrázků.)
Dekomprimace do FF (png2ff): nějakých 17GB (některé obrázky mají 18MB, některé mají menší rozlišení a jsou cca 13MB per obrázek).
Komprimace těchto FF na FF.BZ2: 1361MB. Takže lepší výsledek, než optimalizované originály. To je celkem překvapující.
Jenže, těch 1000 obrázků se komprimovalo 3136s (tedy 3.1s per obrázek). To je neakceptovatelné. Sice je to menší (nějakých 76% originálu), ale za cenu značného nárůstu času.
No, potom jsem vyzkoušel ty FF převést zpět na PNG (ff2png), a velikost: 2368MB. (Doba 830s, tedy 0.8s na obrázek). Evidentně z toho lezou silně neoptimální pngčka. Takové originály ani ten MC negeneruje. To se to potom porovnává účinnost.
Takže, sice bz2 komprimuje obrazová data překvapivě dobře (o 24% lépe než optimalizované png), ale za cenu mnohem pomalejšího běhu. Nehledě na to, že to nemá metadata, nepodporuje to jiné barevné prostory, apod. (formát je pevně dán). Takže jako hračka možná dobrý a docela dobře to ukazuje, proč jsou skutečné formáty obrázků přece jen komplikovanější.
bzip2 použít pbzip2 (takhle jsem to ostatně dělal, čekat hodinu na 1000img fakt nebudu) apod, tím bychom se dostali na quadcore na nějakých 0.775s per image, jenže stejně tak můžeme pustit konverzi těch png paralelně a dostat se na 0.2s per image. Podle mě to ale za ušetřených 24% nestojí.
Ten bzip2 komprimoval každý obrázok samostatne, alebo celý adresár (tar.bz2)?
meh, ta externí komprese je spíš velká nevýhoda, protože je nutné dekomprimovat, než se dá přečíst header (takže pokud potřebuju jen přečíst z obrázků nějaká metadata, v tomto případě asi jen velikost, tak musím rozbalit)A nemůžeš prostě dekomprimovat jen tu hlavičku (a případný zbytek bloku)?
)
CMake a SCons je pochopitelně taky špatně, nejlepší je přece starý dobrý GNU Make (Aby ne, pro programy složené ze 3 zdrojáků..)
Pak tam odsazují GCC a Clang (U GCC fair point, ale použitelná alternativa není, a věřím tomu že tihle tajtrlíci ji nenapíšouNemohla by být do jisté míry jako alternativa TCC? Ten by imho jejich ideologickým záměrům vyhovoval.)
A může to být ještě o level horší, třeba takové OpenEmbedded/Yocto/Angstrom s build skriptama v Pythonu.Mam zkusenost se vsemi tremi a ve skutecnosti mi prijdou lepsi. Python je totiz plnohodnotny jazyk a da se rozumne debugovat. Debugovat nejaky komplexni cross-compile CMake build system je obcas na kulku do hlavy.
A syntaxi makefilů snad vymýšlel někdo na drogách, jinak si to nedovedu ani vysvětlit.Jsou tam absurdity, portovatelnost nic moc, ale treba Buildroot ci FreeBSD/OpenBSD bsd.port.mk jsou fajn.
Python je totiz plnohodnotny jazyk a da se rozumne debugovat.To je pravda, nicméně ten build nástroj nesmí být úplně zmršený (jako třeba gyp). CMake má tu výhodu, že se chytil a je pro něj k dispozici spousta modulů na všechno možný. Python bych jako jazyk taky bral víc než ty CMake scripty, ale ono ten frontend jazyk je ve výsledku spíše ta jednodušší část build systému. Některé projekty mají svoje custom python build scripty, které jsou ve výsledku akorát kolekcí pofidérních hacků - to už je pak lepší ten CMake...
Tiskni
Sdílej: