Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.
Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.
Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.
Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.
Byla publikována Výroční zpráva Blender Foundation za rok 2024 (pdf).
Pro zobrazení menu pro nahrání obrázku a přidání operací se musí kliknout pravým tlačítkem na bílé ploše. Propojení se dělá kliknutím na takovou tu šipku a tažením k jiné (modré šipky jsou výstupy, zelené jsou vstupy). Pro zobrazení GUI operace (zobrazení náhledu, nastavení křivek) slouží double click na operaci v grafu.
Jo, a pozor na jednu věc – GUI zatím neumí operace aktivovat, pokud nejsou propojovány „zdola nahoru.“ Nejdřív se tedy musí spojit root (načtený obrázek) s první operací, první operace s druhou atd.
Pro demonstrování (zatím velmi jednoduchého) uživatelského rozhraní jsem vytvořil dvě ukázková videa. Omlouvám se za horší kvalitu (zejména divnou změnu barev, když se objeví text), s kdenlive jsem začal před zhruba hodinou…
Ukázka, proč je rozhraní ve formě grafu tak mocné. Video ukazuje možnost zobrazit jednotlivé kroky zpracování obrazu najednou a také ukazuje možnosti nedestruktivního editování, kdy je možné jednu ze straších operací změnit a změny se příslušně promítnou i na následujících operacích.
Ukázka grafuUkázka, jak je to rychlé. Porovnávám GIMP 2.8.0 z distribučních balíčků s FotoSHOCKem. Je nutné poznamenat, že FotoSHOCK byl zkompilován v debug módu, který obsahuje mimo jiné dodatečné kontroly při každém přístupu k pixelu, a je tedy citelně pomalejší než release. Krom toho jsem FotoSHOCK zatím téměř neoptimalizoval.
Porovnání rychlosti s GIMPemA nakonec screen nastavení z prvního videa pro Bedňu, aby mohl zabíjet čas i v práci . Rozhodně doporučuji kouknout na videa, kde je demonstrováno jak to funguje.
Tiskni
Sdílej:
Moc se mi to líbí, ta rychlost....k neuvěření! Jen aby to dokázal používat i BFU jako já
O LightZone jsem nikdy neslyšel, ale Google naznačil, že to nevypadá špatně. Rozhodně se nemůžu dočkat oficiálního vydání
Predstavíš to na nejakom linuxáckom alebo inom zraze?Časem možná ano. Zatím je na tom práce jako na kostele.
Chceš aby sa niekto pridal k tvojej práci?Až bude GUI v trochu lepším stavu, tak se bude hodit každá ruka na implementaci nových operací do GUI. Zatím jsou tam jen křivky (i když technicky vzato ve FotoSHOCKu jsou i načtení obrázku, náhled nebo konverze barevných prostorů standardní operace).
Myslíš že kód gegl/gimp je zbytočne zložitý? aj s pridaním všetkých funkcií ktoré používajú?Kód GEGL je podle mého názoru jeden z nejhezčích kódů v opensource, když pominu nutné skopičiny kvůli GObject. Dá se přečíst a pochopit za 2–3 dny (nepočítám operace), takže bych řekl, že je i docela jednoduchý. Ale, jak už je vidět z mých předchozích řádků, nejsem fanda GObject, spíš se mi líbí rozhraní VIGRA, kterým jsem se částečně inspiroval. Kód GIMPU jsem studoval naposledy ca před rokem a to už bylo horší. Ale u programu, který je tu už pěkných pár let to není nic překvapivého. Zejména kvůli současné existenci částečně integrovaného GEGL a starého tile manageru. Předpokládám, že s přesunem ke GEGL, který se snad konečně děje (když jsem začal psát FotoSHOCK, tak to bylo v nedohlednu…), se kód zlepší.
Pridáš podporu filtrov z Gimpu?Nevím. Pokud ano, tak je to hudba vzdálené budoucnosti. Myslím, že by to mohl být docela problém. Spíš bych to viděl na nějaký wrapper, který by umožňoval spouštět gimpovské skripty v Pythonu.
Mám v práci blokovaný YT, môžem ťa poprosiť o nejaké screens GUI?OK, přidal jsem. Mimochodem, zkoušel někdy někdo možnost přidat video k zápisu? Mě to vrací chybu "Přístup odmítnut Pouze administrátor nebo vlastník tohoto objektu smí provést požadovanou akci!"
Ako dlho už na tom pracuješ?Zhruba od února minulého roku – jádro jsem navrhoval v rámci bakalářky. V současném stavu je oproti bakalářce prakticky kompletně přepsáno, zejména kvůli zavedení mipmap a obecnějšímu způsobu přidávání hran do grafu. Většina původního API ale zůstala téměř nezměněná (nepočítám změny datových typů pro parametry), takže bych řekl, že je API snad dostatečně dobré na to, aby se dalo považovat za stabilní.
Nechceš GUI spraviť tak ako ho má ten čo sa vysllovuje skoro rovnakoNe, chci ho úplně jiné. Rád bych měl GUI ve stylu Blender Node Editoru, jelikož je to neuvěřitelně mocné. Časem bych rád přidal i jednodušší GUI, kde se operace nebudou zobrazovat v grafu ale v řetězu s automatickým napojováním. Přeci jen například v případě, kdy je potřeba jen upravit křivky a změnit velikost obrazu, je nutnost sestavovat graf operací zbytečná a zdlouhavá práce.
diff -r 8b0788844b31 src/fotoshock/mainwindow.ui --- a/src/fotoshock/mainwindow.ui Thu Jul 26 18:31:05 2012 +0200 +++ b/src/fotoshock/mainwindow.ui Fri Jul 27 11:21:01 2012 +0200 @@ -38,7 +38,6 @@ <widget class="QStatusBar" name="statusbar"/> <action name="actionOpen"> <property name="icon"> - <iconset theme="document-open"/> </property> <property name="text"> <string>Open</string> @@ -46,7 +45,6 @@ </action> <action name="actionSave"> <property name="icon"> - <iconset theme="document-save"/> </property> <property name="text"> <string>Save</string> @@ -54,7 +52,6 @@ </action> <action name="actionSave_As"> <property name="icon"> - <iconset theme="document-save-as"/> </property> <property name="text"> <string>Save As</string> @@ -62,7 +59,6 @@ </action> <action name="actionQuit"> <property name="icon"> - <iconset theme="application-exit"/> </property> <property name="text"> <string>Quit</string>
vypada to dobře. Teda na videu :) V reálu jsem nějak nebyl schopný nahrát ani obrázek.
To jsem asi měl zmínit. Dodám i do zápisku. Pro zobrazení menu pro nahrání obrázku a přidání operací se musí kliknout pravým tlačítkem na bílé ploše. Propojení se dělá kliknutím na takovou tu šipku a tažením k jiné (modré šipky jsou výstupy, zelené jsou vstupy). Pro zobrazení GUI operace (zobrazení náhledu, nastavení křivek) slouží double click na operaci v grafu.
Jo, a pozor na jednu věc – GUI zatím neumí operace aktivovat, pokud nejsou propojovány „zdola nahoru.“ Nejdřív se tedy musí spojit root (načtený obrázek) s první operací, první operace s druhou atd.
Jen drobné poznámky: cmake je potřeba 2.8.8. Měl jsem 2.8.6 a tam není OPTIONAL_COMPONENTS ve find_package. Jakou Qt potřebuješ? 4.8.x? Nešlo mi uic na mainwindow.h, musel jsem to vohackovat, protože můj uic z 4.7.x nezná tag iconsetDíky za poznámky. Vyvíjím to na Archu, takže mám vždy jen to nejnovější
HermiteCurve
? To int* m_ctrlPointLUT
mě teda docela děsí FixedArray
- std::vector
má taky konstruktor s parametrem size, v podstatě by se imho dal použít místo toho, nebo tam máš nějaký spešl optimalizace?
To je ta třída HermiteCurve
?
Ne, problém je v QCurveWidget
a použití proměnných leftNear
a rightNear
. Když se hýbe s nějakým bodem, tyhle proměnné ukládají index bodu vlevo a index bodu vpravo. Pokud se ale přepne na jinou křivku, tyhle indexy už mohou být mimo rozsah vektoru ukládajícího body nové křivky. Na opravě jsem už začal pracovat (dodělání odkládám na zítřek…).
ToJe to lookup tabulka fixní velikosti, takže vektor je zbytečný overkill. Krom toho, ačkoliv je zatím využívána minimálně, pro floating point data a větší celočíselné datové typy se do ní bude muset přistupovat při zpracování každého pixelu, takže overhead, který vektor přidá by nejspíš byl problém.int* m_ctrlPointLUT
mě teda docela děsí, v tom bude problém, ne? Nešlo by to nahradit vectorem nebo něčím méně nebezpečným? Ten by se taky líp kopíroval...
Jinak ještě mně není jasný účel třídyV podstatě jde o to samé jako výše, vlastně bych mohl nahradit int* m_ctrlPointLUT touhle třídou. Je to minimální obal pro pole, který vlastně navíc ukládá jen velikost (ty výjimky nejsou úplně nutné a asi je nahradím asserty). std::vektor je pro daný účel strašný overkill.FixedArray
-std::vector
má taky konstruktor s parametrem size, v podstatě by se imho dal použít místo toho, nebo tam máš nějaký spešl optimalizace?
std::vector
overkill? Compile-time?
Je to lookup tabulka fixní velikosti, takže vektor je zbytečný overkill. Krom toho, ačkoliv je zatím využívána minimálně, pro floating point data a větší celočíselné datové typy se do ní bude muset přistupovat při zpracování každého pixelu, takže overhead, který vektor přidá by nejspíš byl problém.Silně pochybuju, že bys s c-style polem dostal lepší výkon než s
std::vector
. Viz.
V podstatě jde o to samé jako výše, vlastně bych mohl nahradit int* m_ctrlPointLUT touhle třídou. Je to minimální obal pro pole, který vlastně navíc ukládá jen velikost (ty výjimky nejsou úplně nutné a asi je nahradím asserty). std::vektor je pro daný účel strašný overkill.Ale vždyť
vector
je taky v podstatě pouze minimální obal pro pole. Lidi mají představu, že std::vector
je jakási velká, složitá a relativně pomalá třída vhodná jen na ukládání velkýho kvanta dat. Není to pravda.
Přijde mi, že použitím c-style array nebo psaním třídy jako je to FixedArray
zbytečně vynalézáš kolo a přiděláváš si práci (nehledě na to, že tam mohou být chyby).
Samozřejmě můžeš narazit na nějakej hodně specializovanej případ anebo případně špatnou implementaci STL/kompilátoru, ale tohle bych opravdu řešil teprv až bys nějakej výkonovej problém skutečně naměřil...
#define M_PI 3.14159265358979323846
v src/fotoshock/widgets/QGraph/Edge.cpp
.
#define _USE_MATH_DEFINES
pred includovani math.h
find_package(Boost REQUIRED COMPONENTS system filesystem…
tak, aby neobsahoval OPTIONAL_COMPONENTS.
[ 89%] Generating ui_mainwindow.h uic: Error in line 41, column 36 : Unexpected attribute theme File '/home/mario/Programy/photo_shock/fotoshock-code/src/fotoshock/mainwindow.ui' is not valid make[2]: *** [src/fotoshock/ui_mainwindow.h] Error 1 make[1]: *** [src/fotoshock/CMakeFiles/FotoSHOCK.dir/all] Error 2 make: *** [all] Error 2
Vyvíjať softvér na Archu zaručí že to pôjde len dvoch distribúciach Archu a GentooPřece se nebudu nechávat omezovat pravěkými verzemi SW
Mohol by si pridať do root adresára README.debianDíky, hodím to tam.
Mám tu ďalšiu chybu:Hmm, za to bude bude moct staré Qt. Pokud máš možnost nainstalovat 4.8, tak použij tu. Jinak by mělo pomoct odstranit tagy, které způsobují chyby z ui souboru, nejspíš se ale pak rozbijí ikonky.