Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.
Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.
David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …
Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.
Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.
V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.
Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.
Protože si spousta lidí stěžovala na pomalé načítání JXP Commanderu, upouštím od gtkmm a přepisuju ho do gtk. Nadále ale hodlám používat C++. Také budu používat vlákna, takže by výpis souborů a ostatní I/O operace neměly zdržovat načítání ani běh programu. Také veškeré stringy píšu v angličtině a používám na řetězce funkci (nebo je to makro?) gettext, takže by to pak mělo jít překládat i do jiných jazyků, jak je u většiny GNU programů zvykem. Také přemýšlím o použití cmake pro překlad programu, ale na to je zatím čas. Tak to je pro dnešek vše.
Tiskni Sdílej:
Je pravda, že kompilovat C++ v gcc je vždycky zážitek.O RLY?
...kolikrát za den znovu spouštíte filemanager?...kdyz startuje pomalu, tak ani jednou! prikladem budiz docela pekny filemanager mucommander, jeden z mala, ktery je pro OS X, aniz bych musel nejak instalovat knihovny a kompilovat trebas mc nebo krusader. Je fajn, ale poooooooomaaaaluuuu to startuje, takze to radsi ani nespoustim...
nezlob se, ale to je nehorazna kravina. Lubos naznacoval, ze takovy program se spouzti treba jednou za den a ze tedy pokud s nim produktivita uzivatele vzroste, tak dlouhe spusteni neni na zavadu. Stejne je to s Eclipse. Startuje hrozne pomalu, ale je to paradni IDE na vsechno mozne. A jednou ho rano pustit, to me nezabije....kolikrát za den znovu spouštíte filemanager?...kdyz startuje pomalu, tak ani jednou!
k
položek, můžeš obsah adresáře zobrazit v čase O(n + k*log(k))
, kde n
počet souborů v adresáři a k
je počet zobrazených řádků. Zbytek už můžeš třídit "na pozadí" v čase, kdy se uživatel teprve rozkoukává
Myslim si, ze na to ale budes muset tech n polozek nejdriv setridit nebo sehnat alespon k-prvkovou podmnozinu polozek, ktere budou zarucene na zacatku setrideneho vypisu :)Třídit to celé opravdu nemusím: 1) budu mít haldu velikosti k (nazačátku zaplněnou třeba nekonečny) 2) vezmu prvek, porovnám s maximem na vrcholu, pokud je menší odeberu maximum, vložím prvek, obnovím haldu - to potrvá tedy nejvýše
O(log(k))
takže vybrání k nejmenších umím v O(n*log(k))
, potom už jenom setřídit těch k-prvků O(k*log(k))
, takže dohromady skutečně O((n + k) * log(k))
jxp-cmdr-0.0.1alpha1-src.tar.gz
. Fandim ti
terminate called after throwing an instance of 'Glib::ConvertError' Nespesne ukoncen (SIGABRT)
Také budu používat vlákna, takže by výpis souborů a ostatní I/O operace neměly zdržovat načítání ani běh programu.Vzpomeň na Johanku a její varování. S vlákny si může člověk pořádně nabít hubu. Zvlášť pokud se jedná o aplikaci s GUI. Nic proti vláknům, ale je to ošemetné - sice nevím, jak je na tom GTK+ z hlediska vláknové bezpečnosti, ale třeba pro javovský Swing platí docela přísná pravidla. Být tebou, dám si pozor
Vzpomeň na Johanku a její varování. S vlákny si může člověk pořádně nabít hubu. Zvlášť pokud se jedná o aplikaci s GUI. Nic proti vláknům, ale je to ošemetné - sice nevím, jak je na tom GTK+ z hlediska vláknové bezpečnosti, ale třeba pro javovský Swing platí docela přísná pravidla. Být tebou, dám si pozorPak ovšem toto nechápu. Z Lukova komentáře se mi zdá, že i když někdo práci s vlákny rozumí, dopadne to většinou špatně. Pokud tomu tak není, je ten komentář naprosto zbytečný a zavádějící...
Programovat nějaké paralelní procesy se dá i bez vláken, ale potom to vypadá... všelijak...On to zase až takový problém není. Pokud se používá framework s aspoň trochu rozumným mechanismem pro obsluhu událostí (např. Qt), tak si pak stačí jen hlídat, aby se běh nikde nezdržoval příliš dlouho. Každopádně je to mnohem jednodušší než se peklit se špatně fungujícím vláknovým kódem.
Nicméně vícevláknové aplikace existují a podle mých pozorování řada z nich funguje dobřeO tom není sporu. Velice ovšem záleží na tom, jaký charakter mají tyto aplikace. Pokud se sdílí jen málo prostředků a nepoužívají se žádné záludnější konstrukce, opravdu nebývají problémy. Nemohu ovšem nevzpomenout známý HTTP server Apache, který ve vláknové verzi (worker) funguje velice problematicky. Hlavním problémem jsou moduly, které většinou nejsou připraveny na multithreading - jenže Apache bez modulů (ve kterých je dnes víc než 90 % funkcionality) jaksi není to pravé ořechové. A něco podobného může nastat i zde (kromě problémů s GUI). Jakmile chceme do budoucna připustit používání pluginů, je potřeba myslet i na toto.
tím, že se tomu moduly zatím nestihli přizpůsobitMám silný pocit, že třeba PHP se ani moc přizpůsobit nesnaží. Přitom je to zrovna jeden z nejdůležitějších modulů.
Předpokládám přitom, že chování „threadoidního“ kódu v interpretujících virtuálních strojích se dá nějak rozumně srovnat do latě.Zase připomenu moji oblíbenou Javu Tam by se měl vláknový kód psát vždycky tak, aby vyhověl jakékoli implementaci vláken, tedy green threads i native threads (pro různé OS!). Takže zde platí, že o nějakém srovnávání do latě nemůže být ani řeč. Prostě je potřeba počítat se vším.