Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.
Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.
Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.
Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.
Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).
Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].
Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.
V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem
… více »V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Hraju si programováním, baví mě to.Docela změna. Ty seš člověče jak korouhvička. Ne že by na téhle změně bylo něco špatného, ba naopak. Na přečtení a vstřebání celého příspěvku už nemám sílu a klížej se mi oči, ale podle nadšeného tónu to bude asi opravdu super. Těším se, až si to zítra prostuduju.
Toolkit … je přímo slinkován s binárkou, a tudíž by nemělo docházet k žádným pomalostem, jako je tomu v případě Gtkmm.
Nerozumím. Můžete, prosím, tuto úvahu trochu rozvést?
Do té doby doporučuji KISS (=jednoduchost).
?
(Není to úplně přesné. Linus Torvalds si nejdřív jen tak hrál, teprve později se to dalo dohromady s GNU.)
?
Kdyby někdo měl velký zájem tak jsem napsal článek o výpočtu gradientu přes MMX. Zatím není publikováno, možná se někdy dočkáte
Ale jestli to má být jen na Intel-compatible, pak není problém.
Jinak pamatuji nejen staré hry na PC, ale i hry na Atari. Hra měla celá 20 KB, pěknou grafiku, zvuky, hudbu... Kdeže ty časy jsou
Kdyby někdo měl velký zájem tak jsem napsal článek o výpočtu gradientu přes MMX. Zatím není publikováno, možná se někdy dočkáteA co to nabídnout Robertovi k vydání tady na abíčku? Určitě by měl zájem
)
Atari naprostý souhlas, třeba Bouler Dash nezapomenu
Jinak s tím článkem zatím počkám, asi ho umístím někam na osobní web, protože jich mám v plánu víc a hodně z nich bude o 2d grafice a o optimalicačních problémech které jsem osobně řešil. Jenže problém je bohužel čas
Nemyslel jsem to proti čtenářům, určitě je tady hodně programátorů, ale koho zajímá tak odborná věc, tak asi použije první vyhledávač
Nemyslel jsem to proti čtenářům, určitě je tady hodně programátorů, ale koho zajímá tak odborná věc, tak asi použije první vyhledávačTady si to ale určitě přečtou i lidé, kteří takovou věc v té chvíli zrovna nepotřebují (a tudíž by ten vyhledávač nepoužili), ale určitě k tomu mají co podnětného říci.
Vlastně s těma 20KB celkem přeháněl...$ du -h vlak.com 16K vlak.com
Hudba se vejde na pár bajtů, zvuky totéž. Podívej se jak velké jsou mod, it, mid,...Z pár mod/mid bajtov rozhodne nedostanete peknú hudbu a rozhodne jej nedostanete dosť na to, aby vás po piatich minútach nebolela hlava z jej opakovania. Pojem pekná hudba je relatívny, ale obávam sa, že ak niekto nazve pár bajtov peknou hudbou, tak ho budem musieť považovať za hluchého.
Rozlišení bylo tehdy mrňavé a tím pádem i obrázky byly mrňavé. Při použití mála barev a indexované palety se lze vejít opravdu do mála i bez komprese.Tak s tým súhlasím, nenapadlo ma, že na tom tie hry kedysi boli až tak zle
10 instrukcí je celkem dost. Minimálně na počítání skóre to stačíLen či ešte zostane aj nejaká inštrukcia na inicializáciu a zobrazenie toho, čo počíta.![]()
Ale vážne, žiadna rozumná hra nemôže mať pár len inštrukcií. Ak si teda autor pod hrou nepredstavoval veci typu "Guess number"
Vlastně s těma 20KB celkem přeháněl...V tejto hre nebola pekná grafika, zvuky boli odporné a hudba žiadna. A opať, ja za hru považujem niečo trochu zložitejšie, takže aj kódu tam bolo málo. Ale už začínam veriť, že v rádoch desiatok kilobajotv sa dajú robiť nejaké hry$ du -h vlak.com 16K vlak.com
Ja presne neviem, čo si predstavujem pod pojmom hra s peknou grafikou, zvukmi, hudbou a tak, ale možno skôr nejakú adventúrku, napríklad niektorého Dizzyho; hlavne neskoršie diely mali veľmi peknú grafiku. Myslím, že žiadny diel by sa nezmestil do 20kB. Ak to niekto máte doma, tak napíšte veľkosť
Ale s tím dizzy souhlasím
Pokud máte nějaký svůj widget set nebo API pod X, můžete dát link nebo mi poslat na email, já si to rád prostuduju a třeba se i poučím (Upřímně mě zrovna zajímají jen věci pod X a akcelerovaná 2d grafika pomocí MMX a SSE2). Můj projekt je zatím pod pokličkou a jestě tak měsíc bude
/* xwindow.h */
XWINDOW * xwindow_init(void);
void xwindow_load_widgets(XWINDOW *xwin, char *filename);
void xwindow_destroy(XWINDOW *xwin);
void xwindow_process_events(XWINDOW *xwin);
void xwindow_reposition (XWINDOW *xwin, int now);
void xwindow_recalculate(XWINDOW *xwin);
void xwindow_redraw(XWINDOW *xwin, int recalculate);
#define xwindow_get_fd(xwin) {ConnectionNumber((xwin)->disp);}
#define xwindow_is_broken(xwin) ((xwin)->is_broken)
/* xdraw.h */
void xdraw_frame(XWINDOW *xwin, long x, long y, long w, long h, int is_raised);
void xdraw_frame_color(XWINDOW *xwin, long x, long y, long w, long h, int is_raised, int cl, int cs, int draw_border);
int xdraw_select_font(XWINDOW *xwin, int fid);
void xdraw_text(XWINDOW *xwin, long x, long y, char* text, float align, int shadow);
void xdraw_bar(XWINDOW *xwin, long x, long y, long w, long h, float fill);
void xdraw_vsep(XWINDOW *xwin, long x, long y, long len);
void xdraw_hsep(XWINDOW *xwin, long x, long y, long len);
Prostě jen nakresli tohle támhle. Nic víc pro ten program nepotřebuju. A aby to trošku ladilo s desktopem, vypdadá to jako kdyby to bylo podle defaultního témata gtk2 :) Chybějící podpora jakéhokoliv vstupu je naprosto záměrná.
Předpokládám, že to dopíšu koncem prázdnin, případně v září. Teď na to nemám moc času. Chybí tam jen část, která bude sbírat data. Kreslení a načítání rozložení widgetů lze víceméně považovat za hotové.
Adresa: http://jk.myserver.cz/programy/icebuteo/
#include <wpp/core/core.h>
using namespace WPP;
WPP_MAIN()
{
FileStream fileStream("out.txt", IO::Create | IO::Write | IO::Truncate);
TextStream textStream(&fileStream);
Directory d;
if ( d.open( User::homeDirectory() ).ok() ) {
const Directory::Entry* e;
while ( (e = d.read()) != NULL ) {
textStream.writeLine(e->name());
}
}
textStream.end();
return ExitSuccess;
}
Tento kód běhá na Win/Lin, výsledný soubor je v UTF8 kódování, pro současné kódování stačí před zápisem napsat:
textStream.setTextCodec(TextCodec::local());Lomítka v cestách jsou vždy v posix tvaru '/' atd, ... Šlo mi jen o to maximálně sjednotit API dvou různých OS a až naněm něco stavět. Jestli bude čas tak o tom napíšu blog, ale v současnosti mám dočasnou práci v .IE takže to nejde ahoj
používala standardní datové typyHovoríme o tom istom C/C++, kde ešte stále v štandarde nie je popísaná veľkosť základných dátových typov, o unicode ani nehovoriac? Ak ten toolkit má byť multiplatformný, tak nevidím lepšiu cestu, vy áno?
String, ale API ho používá a ví, že má pokaždé stejné kódování, že může zjistit rychle jeho délku a používat jeho metody.
Třeba když jsme u zmíněného příkladu, tak jak byste vypsal obsah domácího adresáře na těchto platformách do souboru v UTF8 nebo jiném kódování, kolik knihoven byste musel použít?
Nechci se přít, glib/gtk+ to řeší Vaším způsobem, ale když chci napsat opravdu jednodušší aplikaci tak proč použivat 10 knihoven na to, abych si přečetl konfiguraci, zobrazil nějaké ovládací prvky a při ukončení zase zapsal konfiguraci (xml).
Celá binárka má po zkompilování asi 300kb a je tam opravdu veškeré non-gui co pro gui potřebuji tak proč z toho dělat samostatný balík?
String:
Příklad:
char* asciiText = "neco"; char* utf8Text = "neco"; char* localText = "neco"; wchar_t* wcharText = L"neco"; String s1(asciiText, TextCodec::ascii()); // nebo String s1(asciiText); String s2(utf8Text, TextCodec::utf8()); String s3(localText, TextCodec::local()); String s4(wcharText, TextCodec::localWChar());A pokud chcete zpět
ByteArray a = s1.to(TextCodec::utf8()); // pokud chcete opravdu char* char* text = malloc(a.length() + 1); memcpy(text, a.constStr(), a.length()); text[a.length()] = 0;Ale právě takovým věcem jsem se chtěl vyhnout. To co jsem zde napsal mě normálně funguje a je to standardní postup. Navíc je zde možnost implicitního sdílení jako třeba u Qt což dodává programování ještě další rozměr
A co třeba manipulace:
StringList sl = String("a|b|c|d|e|f").split("|");
Myslím že jednotný Char na všech platformách má svou výhodu, wchar_t je pro mě nepoužitelný protože na linuxu je 32 bit a ve win 16 bit, s tím ale nikdo z nás nic neudělá.
Ale multiplatformnost není jenom problém se strings (kéž by), problém jsou třeba cesty k souborům (lomítka / \, pracovní adresář atd...), o GUI rači mlčím
Ale pro segfault bych radši napsal:
*((unsigned long *)NULL) = 0UL;
jenže mi vadí tyto věci:
- licencia nieje problem, kludne to dam aj pod public domain, bsd licencia nieje problem (z mojej strany urcite nie)
- ano, kazdy widget ma vlastne okno (teraz je STK 2.x) predtym som to robil v inak (STK v1.0) a zistil som ze to nieje dobre riesenie (najme s pohladu obsluhy udalosti a z hladiska rychlosti). Tak som to cele prepisal.
- k prenositelnosti: uz dlhsie planujem port na FBUI (framebuffer user interface) to je 26kB kernel modul ktory robi to co X Server. Pisal som aj toolkit pre SDL, ale ten som nedotiahol...
- Inak pisat toolkit v xlib je docela porod. Je to tak trochu alchimia. Mizerna dokumentacia. Asi najhorsie bolo dokopat X Windows-ovi fokus handling na pouzitelnu uroven (defakto pouzivam vlastny).
- Urcite mozeme pokecat, aj ked teraz som menil ICQ klienta na SIM a neviem ci je 100% funkcni ale kludne - icq:284233649 alebo na moj email...
Nejlepší toolkit je ten co ti vyhovuje a to bude s největší pravděpodobností pouze ten co si napíšeš.To je samozřejmě pravda a platí to obecně. Ale při pohledu na to, kolik se mi během let nahromadilo kostlivců ve skříni, raději každého předem varuji. Napsat něco většího (což takový toolkit bezpochyby je) znamená překonávat řadu situací, kdy má člověk tendenci se na to vykašlat.
XDrawLine() napsal XCreateWindow(), protože bez XDrawLine() se dá obejít
MoveTo() a LineTo() ale Qt a Gtk+ je úplně jinde. Nejhorší na tom je, že ten builder jsem měl ješte tehdy na 486 s 8MB ram a jelo úplně krásně.
Třeba tehdejší ZoneRings32 - hezký prográmek na naučení, sice v Delphi ale hukot
Tohle není toolkit, ale wrapper.To nic nemění na faktu, že za půl hodiny se to nenapíše
Tiskni
Sdílej: