Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.5. Přehled novinek s náhledy v oznámení na blogu.
Německo zvažuje, že zaplatí místním telekomunikačním operátorům včetně Deutsche Telekom, aby nahradili zařízení od čínské firmy Huawei. Náklady na výměnu by mohly přesáhnout dvě miliardy eur (bezmála 49 miliard Kč). Jeden scénář počítá s tím, že vláda na tento záměr použije prostředky určené na obranu či infrastrukturu.
Po dvaceti letech skončil leader japonské SUMO (SUpport.MOzilla.org) komunity Marsf. Důvodem bylo nasazení sumobota, který nedodržuje nastavené postupy a hrubě zasahuje do překladů i archivů. Marsf zároveň zakázal použití svých příspěvků a dat k učení sumobota a AI a požádal o vyřazení svých dat ze všech učebních dat.
Úřad pro ochranu hospodářské soutěže zahajuje sektorové šetření v oblasti mobilních telekomunikačních služeb poskytovaných domácnostem v České republice. Z poznatků získaných na základě prvotní analýzy provedené ve spolupráci s Českým telekomunikačním úřadem (ČTÚ) ÚOHS zjistil, že vzájemné vztahy mezi operátory je zapotřebí detailněji prověřit kvůli možné nefunkčnosti některých aspektů konkurence na trzích, na nichž roste tržní podíl klíčových hráčů a naopak klesá význam nezávislých virtuálních operátorů.
Různé audity bezpečnostních systémů pařížského muzea Louvre odhalily závažné problémy v oblasti kybernetické bezpečnosti a tyto problémy přetrvávaly déle než deset let. Jeden z těchto auditů, který v roce 2014 provedla francouzská národní agentura pro kybernetickou bezpečnost, například ukázal, že heslo do kamerového systému muzea bylo „Louvre“. 😀
Z upstreamu GNOME Mutter byl zcela odstraněn backend X11. GNOME 50 tedy poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.
Byl publikován plán na odstranění XSLT z webových prohlížečů Chrome a Chromium. S odstraněním XSLT souhlasí také vývojáři Firefoxu a WebKit. Důvodem jsou bezpečnostní rizika a klesající využití v moderním webovém vývoji.
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.3.0. Přehled novinek v poznámkách k vydání.
Organizace Open Container Initiative (OCI) (Wikipedie), projekt nadace Linux Foundation, vydala Runtime Specification 1.3 (pdf), tj. novou verzi specifikace kontejnerového běhového prostředí. Hlavní novinkou je podpora FreeBSD.
Nový open source router Turris Omnia NG je v prodeji. Aktuálně na Allegro, Alternetivo, Discomp, i4wifi a WiFiShop.
) je dnes zkratka pro Lesser General Public License. Dříve se jí říkalo Library General Public License, ale to už je hodně dávno.
V čem se obě knihovny liší, je způsob jakým pracují s GUI prvky. Qt má veškeré vykreslování vlastní a na jednotlivých platformách se mění pouze vzhled. To umožňuje snadnější portování na další platformy, umožňuje to nabízet větší množství prvků, než jaké poskytuje grafická knihovna cílového prostředí. Nevýhodou tohoto přístupu je pak nižší rychlost vykreslování, než u nativní knihovny.To s tou rychlostí je nepřesné. Žádná nativní GUI knihovna pro Linux neexistuje. V konkrétním případě bude pomalejší spíš wxWidgets, protože používá další multiplatformní toolkit - Gtk+. Kód tedy prochází přes více vrstev, než se dostane k X11.
wxWidgets naproti tomu využívá GUI prvky cílové platformy, což má přesně opačný efekt. V praxi to pak například znamená, že při spuštění programu v GNOME wxWidgetsvyužívá knihovnu GTK k vykreslování. Rozdíl ve výkonu by se měřil poměrně obtížně, žádný obrovský rozdíl ve výkonu oproti Qt tam ale pravděpodobně nebude.Opět
LicenceV praxi je rozdíl mezi LGPL a wxWidgets licencí ten, že v případě wxWidgets můžes zkompilovat celou knihovnu staticky k tvoji aplikaci. V Qt tento postup není možný bez komerční licence.
Rozdíly jsou i při sestavování programu. Při použití Qt zdrojový kód nejprve projde skrz MOC(Meta Object Compiler), který zdroják před zkompilováním modifikuje.MOC nikdy nemodifikuje zdrojový soubor, ale vytvoří úplně jiný, s příponou
.moc.
Něco k zamyšlení – kolekceNebo můžeš napsat třeba
std::vector<Cat>> seznam
Popravdě, spíš jsem čekal nějaké srovnání API. Mi osobně přijde obtížné udělat ve wxWidgets layout - v Qt se to dělá mnohem líp, a je to takové intuitivnější. Mezi další věci patří třeba podivné chování GroupBox/GroupLayout ve wx, atd... Už jsem s tím nedělal celkem dlouho, takže si na víc nevzpomenu.
To s tou rychlostí je nepřesné. Žádná nativní GUI knihovna pro Linux neexistuje. V konkrétním případě bude pomalejší spíš wxWidgets, protože používá další multiplatformní toolkit - Gtk+. Kód tedy prochází přes více vrstev, než se dostane k X11.A jak by to bylo s rychlostí na windows, tam bude wx rychlejší? Zajímalo by mě, jak by bylo možné to otestovat, nějaký nápad?
MOC nikdy nemodifikuje zdrojový soubor, ale vytvoří úplně jiný, s příponou .moc.Tak jsem to myslel, trochu špatně jsem se vyjádřil. To že se v tom obtížně navrhuje layout mi vadí asi nejmíň. Horší jsou nekonzistence v pojmenovávání metod tříd, nebo třeba fakt, že některé metody nefungují intuitivně tak jak by měly: např. třída wxCommandEvent má naprosto nelogicky metodu IsChecked(), která funguje jen tehdy, pokud byl event vyvolaný z checkboxů nebo menu (přitom může být vyvolaný ze spousty jiných prvků a korektní postup je získat z eventu zdrojový prvek a z něj teprve zjistit stav). To vypadá jak kdyby to tam někdo přidělal právě když to potřeboval. Srovnání API můžu udělat pokud je o to zájem, nechtěl jsem to přespříliš natahovat, dlouhé zápisky nikdo nečte.
To s tou rychlostí je nepřesné. Žádná nativní GUI knihovna pro Linux neexistuje. V konkrétním případě bude pomalejší spíš wxWidgets, protože používá další multiplatformní toolkit - Gtk+. Kód tedy prochází přes více vrstev, než se dostane k X11.Neexistence nativního GUI je spíš důsledek architektury a minulosti vývoje X Windows než Linuxu. Sice by se dalo říct, že kombinace Xt+Xaw/Motif (resp. jeho otevřené implementace) by se za určitých okolností mohly považovat za nativní GUI, ale pokud dáme jako podmínku, že ostatní toolkity fungují srz něj, tak už to neplatí (ty komunikují přes nižší vrstvu Xlib/XCB). Mimo toho, XServer funguje na mnohem nižší úrovni než widgety, samotný protokol je spíš na úrovni jednoduchých grafických knihoven typu SDL: klient si udělá okno, do něj může kreslit jak vektorově (včetně psaní pomocí fontů), tak bitmapově (přes pixmapy) a XServer mu zas zpět posílá události.
Popravdě, spíš jsem čekal nějaké srovnání API.V tomhle je docela zajímavé porovnat řešení vláken. v Qt totiž imho kvalita API QThread (případně příbuzných) pokulhává za zbytkem Qt, a to především proto, že to je jedno API pro dva různý use cases - a sice "klasická" vlákna a vlákna s event loop, čili, řekl bych, "gui-aware" vlákna. Uživatel na to musí dost pamatovat, aby tyhle dva přístupy v jednom API nemíchal, musí mít stále na paměti, jestli má nebo nemá nastartován event loop a který postupy jsou vhodný pro event loop a který ne. Imho by možná nebylo marný to rozdělit na dvě třídy. Krom toho co si vzpomínám, v některých detailech byla dokumentace QThread trochu vágní, co jsem to viděl naposled... Na druhou stranu je hezké, že v dokumentaci Qt mají všade (co vím) důsledně specifikováno, co je thread-safe a co ne. Co se týče wxWidgets a vláken - koukám do dokumentace a zjišťuju, že něco jako "gui-aware" vlákna vůbec neřeší, k dispozici jsou jen "klasická" vlákna. API vypadá slušně, ovšem já ale wx neznám z praxe (taky jsem nebyl dál než u hello world). Zajímavý je koncept detachted thread, tohle afaik v Qt vůbec není a mohlo by to imho dost zjednodušit práci v některých případech, především pro začátečníky. Ačkoli trošku z toho kouká podobný problém jako v Qt - jedno API, dva use cases.
', takze se vazne uvazovalo i o wX.
Dokumentace
Pro male veci slozene ze standardnich komponent je to uplne fuk. Je zajimave, ze uz tenkrat, prestoze melo Qt velmi peknou dokumentaci byla diskuzni-fora presto plna dotazu i ohledne jednoduchych veci. Jakmile se ale zacnou delat velke projekty, tak ty skolske priklady uz nestaci a jedine vhodne by bylo, mit 'komplikovane priklady'. To je podle me jedina rozumna dokumentace pro 'pokrocileho' programatora.
Multiplatformost
Zde jsem dokonce jineho nazoru ohledne rychlosti. Toolkity, ktere na dane platforme samy kresli nemusi byt vubec pomalejsi nez wX. Kdyz wX pouzije GTK tak nakonec holt kresli GTK a to muze mit mnohem horsi algoritmy nez toolkit sam. Napr. fox-toolkit take kresli sam a je rychlejsi nez wX.
Rekl bych, ze tato vlastnost wX je velmi negativni, v nasich testech napr. tenkrat nebylo mozne pod linuxem mit right-justify udaje v multicolumn-listview, na windossech to slo -> duvod - widget pod windows to umel, ale pod GTK tenkrat ne -> vyplyva, ze wX je limitovana vzdy tou prave 'nejhorsi' platformou.
Dalsi problem je vyroba vlastniho widgetu -> zde se musi event. programovat vicekrat, jestlize se nevystaci z dedicnosti.
Licence
Omezit se na LGPL je bohuzel velmi kratkjozrake. Zde jsou toolkity jako wX nebo fox v obrovske vyhode - je mozno sirit statickou binarku. My jsme napr. chteli pouzit Qt pro program sireny na CD - nejen ze je treba pribalit ty Qt knihovny (main programm je pak take musi nekde spravne najit), ale je treba umoznit uzivateli 'pozdejsi' linkovani - tzn. musi tam byt i vsechny '.o - soubory' a navod jak to prekladat atd.. To je obrovska nevyhoda Qt dodnes.
Ostatni
Te problematiky QList, QString ...je plny internet. jenom kolik lidi bojuje s tim std::string <-> QString. My se tomu snazime vyhnout, clovek nikdy nevi kdy se bude muset pouzit jiny nastroj. Zatim jsme tedy vystacili se std::
HTML - to je jeden z duvodu, proc volit Qt. Podpora html pod wX je stale jeste nedostatecna, programovat tu engine jak to dela pan Slavik (na zelene louce) je dnes podle me blbost. Jasne plus pro Qt.
Signaly a messages - zde mam pocit, ze ten signal-slot konzept je jakasi mantra intergalaktickeho programovani.Pro me je message-mapa zrovna tak dobry koncept. V komentari vyse to nekdo povazuje za neprehledne. Ne - je to otazka zvyku. Ja presne vim v kodu, kde ta mapa je a pripada mi obracene neprehledne u Qt hledat ty radky s connect.
'Mocnost'
Myslim si, ze Qt je prilis mocna. Nechapu, proc nekdo musi naplacat do GUI podporu SQL.
Widgets - pro narocne programy (klient pro IS) je u wX nasaditelna (imho) teprve ta verze 2.9. Ono to vse boli az v detailu - napr i u Qt bylo mozno az ve verzi 3.x rict QtTable, ze ma byt aktualni radka oznacena barevne. Predtim to neslo, oramovana byla jen bunka. To jsou ty momenty, kdy se prijde k zakaznikovi a ten rekne, ze snad bude mozne, aby videl ve ktere radce se naleza - a ono je pak blbe mu rikat, ze takovou 'samozrejmost' vyrobce toolkitu neuvazoval. V tomhel a zejmena kvuli tomuhle je volba mezi tema 2 toolkity jasna = Qt.
zde mam pocit, ze ten signal-slot konzept je jakasi mantra intergalaktickeho programovani
+1
Mym hlavnim kriteriem byla multiplatformost a licence. V dobe pred cca 5 lety, Qt v podstate multiplatformni nebylo a licence byla nepouzitelna. S multiplatformosti uz hodne postoupili, licence je sice o dost lepsi, ale porad to neni rozumne pouzitelna licence. Rozhodne neni jistota, ze ta knihovna se bude dat pouzivat bez obav i za 5 let. To je bohuzel obecne problem softu spravovanem jednou firmou.
V současnosti to jen občas používám jako uživatel. A protože jsem, co se optiky týče, řekněme nadstandardní uživatel, tak jsou wx-Gtk víc než na prd. Jsou nahovno (přetékající písma při exotických velikostech, zároveň nedokreslované widgety). Ale zase to může být chyba v Gtk. Nevím.
Používám několik aplikací ve wxWidgets a je to tórčr.
Tiskni
Sdílej: