Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.
Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si
… více »Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.
Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).
Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.
V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.
Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.
Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.
Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Záviset na rozšíření konkrétního kompilátoru mi přijde jako kravina.Není to rozšíření konkrétního kompilátoru a nemám zjištěno, zda na nějakých rozšířeních nezávisíme už teď, nebo zda na nich tak jako tak nezávisí některá z našich závislostí :).
Krom toho nejsem fanda snah dělat z C něco, co není (aka C++).My spíš řešíme, jestli nám to jako vývojářům a projektu pomůže nebo uškodí. Mně osobně z mnoha důvodů C++ nevyhovuje, zatímco tahle funkcionalita by mohla. A nezapomeň, že se bavíš o projektu postaveném nad knihovnou Glib s vlastním objektovým modelem.
Tady je především dobré si rozmyslet, kolik práce použití takového rozšíření ušetří. Teprve pokud se ukaže, že hodně, stojí to za případné problémy s kompatibilitou.Asi dost záleží na stylu práce. My používáme jako utility knihovnu Glib. Hodně věcí se za běhu programu kontroluje na chyby, ale obvykle nejde použít assert, protože je to systémový démon. Spousta chyb přitom vyloženě vyžaduje jen nějaký ladící výstup a ukončení funkce s jasně daným výsledkem (g_return_val_if_fail, g_return_val_if_reached apod). A nebo prosté return. Něco se dá uklízet pozpátku volanými GOTO, ale v tom se zase dělají chyby.
zrovna u cleanupů si tím ale vůbec nejsem jistý.NetworkManager je trochu specifický v tom, že většina jeho práce spočívá v komunikaci s dalšími knihovnami či procesy, případně udržuje informace datových stukturách, které si předávají signály. Takže velká část kódu spočívá v tom, že vyzískám třeba přes libnl od kernelu nějaké objekty, zkontroluju je, a na jejich základě předám další komponentě nějaké další informace. Colin tvrdí, že jenom na základě alokací může z NM vykopnout 1500 řádků kódu. Mně to v celkovém množství kódu až tak neoslňuje a zda nám to skutečně pomůže, to netuším. Ale zatím to vypadá, že když to umí i LLVM a když to bude muset umět každý kompilátor s ambicemi kompilovat běžné linuxové služby, tak by se s tím dalo smířit.
Hodně věcí se za běhu programu kontroluje na chyby, ale obvykle nejde použít assert, protože je to systémový démon.Opravdu nejde použít? Někdy je nejjednodušší všechen úklid při fatálních chybách zařídit tak, že se příslušná část programu spustí jako samostatný proces a až doběhne, vše se samo uvolní.
Něco se dá uklízet pozpátku volanými GOTO, ale v tom se zase dělají chyby.Myslíš? Mně naopak konstrukce typu
bool ok = 0;
if (!(x = malloc(sizeof(*x)))
goto failed_malloc;
if ((fd = open(...)) < 0)
goto failed_open;
ok = 1;
close(fd);
failed_open:
free(x);
failed_malloc:
return ok;
přijde jako jedna z nejpřehlednějších možných. Hlavně proto, že je v ní naprosto jasné, kudy program chodí a co kdy alokuje a uvolňuje. Cleanupovací atribut někdy až příliš zamlžuje, v jakém pořadí se věci dějí.
Opravdu nejde použít? Někdy je nejjednodušší všechen úklid při fatálních chybách zařídit tak, že se příslušná část programu spustí jako samostatný proces a až doběhne, vše se samo uvolní.Jde o volbu granularity. Abych aplikaci rozdělil tak, aby změna chyb z nefatálních na fatální udělala co nejméně škody, tak by těch procesů mohlo být docela hodně a jejich správa a komunikace s nimi by byla zbytečně náročná.
přijde jako jedna z nejpřehlednějších možných. Hlavně proto, že je v ní naprosto jasné, kudy program chodí a co kdy alokuje a uvolňuje. Cleanupovací atribut někdy až příliš zamlžuje, v jakém pořadí se věci dějí.Ale jo, já ti rozumím, že chceš všechno vidět jako by to bylo v assembleru :). Ale asi je ti jasné, že nám je pořadí nezávislých dealokací či třeba uvolnění file deskriptorů putna.
Ale asi je ti jasné, že nám je pořadí nezávislých dealokací či třeba uvolnění file deskriptorů putna.Jenže ono na tom pořadí tu a tam záleží a když ho popletu, dějí se věci... Proto mi přijde praktičtější pořadí dodržovat vždy a nepřemýšlet nad tím, kdy je to potřeba a kdy ne. Zkrátka alokace a dealokace jsou jako závorky a program by měl být správně uzávorkovaný.
Jenže ono na tom pořadí tu a tam záleží a když ho popletu, dějí se věci...Bavíme se stále ještě o pořadí uvolnění několika nezávislých alokací?
Zkrátka alokace a dealokace jsou jako závorkyTady se asi neshodneme.
Bavíme se stále ještě o pořadí uvolnění několika nezávislých alokací?Nikoliv. Bavíme se o uvolňování alokací, aniž by bylo potřeba přemýšlet o tom, zda zrovna jsou nezávislé nebo ne. V prakticky jakémkoliv větším programu dřív nebo později potkáš alokace, které nezávislé nejsou. Pokud si to o nich neuvědomíš, objeví se dost těžko debugovatelné chyby. Takže alternativy jsou dvě: buďto pokaždé přemýšlet, zda jsou nezávislé (nejen při psaní, ale i při každé budoucí úpravě kódu), nebo si zvyknout dodržovat pořadí všude. Mně se daleko víc osvědčilo dodržovat pořadí všude, protože je to zjevně správně a myšlenkovou kapacitu si mohu šetřit na ty části programu, které ji skutečně potřebují. Tohle je nejspíš největší problém programátorů v Céčku: stráví příliš mnoho úsilí ošetřováním všelijakých technických detailů a nezbude jim sil na to hlavní. Dobrý céčkař věnuje úsilí především na to, aby se těmi technickými detaily nemusel zabývat (třeba zavedením nějakých memory poolů, automatického resource trackingu, či třeba transakčního systému, nebo prostě jenom šikovnými konvencemi) a pak už od technikálií má klid na důležité věci.
Nikoliv. Bavíme se o uvolňování alokací, aniž by bylo potřeba přemýšlet o tom, zda zrovna jsou nezávislé nebo ne.To pak ano. Ale na to nenarážím, protože uvolňuju objekty a ne kusy paměti, tudíž v případě závislosti už v tuto chvíli, tedy i bez 'cleanup' nevolám free, ale specifickou uvolňovací funkci. Pokud bych to tak nedělal, což je možná tvůj případ, tak by to opravdu stálo za úvahu.
V prakticky jakémkoliv větším programu dřív nebo později potkáš alokace, které nezávislé nejsou. Pokud si to o nich neuvědomíš, objeví se dost těžko debugovatelné chyby. Takže alternativy jsou dvě: buďto pokaždé přemýšlet, zda jsou nezávislé (nejen při psaní, ale i při každé budoucí úpravě kódu), nebo si zvyknout dodržovat pořadí všude.V tuto chvíli opravdu pokaždé závislosti řešíme. To by se mělo týkat jak kódu NetworkManageru, tak nejspíš i většiny dalších projektů psaných nad Glib. A přemýšlím nad tím ne ve chvíli, kdy řeším dealokaci, ale už ve chvíli, kdy řeším alokaci.
Mně se daleko víc osvědčilo dodržovat pořadí všude, protože je to zjevně správně a myšlenkovou kapacitu si mohu šetřit na ty části programu, které ji skutečně potřebují.Chápu. Nicméně nám by to asi nic neušetřilo.
Tohle je nejspíš největší problém programátorů v Céčku: stráví příliš mnoho úsilí ošetřováním všelijakých technických detailů a nezbude jim sil na to hlavní. Dobrý céčkař věnuje úsilí především na to, aby se těmi technickými detaily nemusel zabývat (třeba zavedením nějakých memory poolů, automatického resource trackingu, či třeba transakčního systému, nebo prostě jenom šikovnými konvencemi) a pak už od technikálií má klid na důležité věci.Tak u nás se z toho důvodu na část věcí používají hotové prostředky z Glib a na většinu ostatních se používají alespoň stejné nebo podobné konvence. Tohle je věc, která přišla rovněž ze světa Glib, ale kvůli nepodpoře na MSVC nebyla zařazena přímo do Glib.
primarne jej pouziva Gnome a to si drzi striktni C89 kompatibilituNo jo, není od věci se občas podívat na kalendář a zkontrolovat, jaké se píše století
for
, mimo jiné proto, že je pak evidentní, že na proměnnou nesahám někde mimo cyklus, kde už nemá její hodnota smysl.
Sice NetworkManager je freedesktop.org projekt, ale primarne jej pouziva GnomeGnome je jen jedním z projektů, které komunikují s NetworkManagerem.
a to si drzi striktni C89 kompatibilitu.NetworkManager prý striktní C89 kompatibilitu nedrží, podle toho, co říkal Dan. Možná mi dával i nějaký konkrétní příklad, ale nevzpomínám si.
Je to predevsim z historickych duvodu a dnes mozna jiz tyto duvody pominuly, predpokladajic, ze Solaris, OpenBSD a dalsi uz presli na gcc ci clang.A jak je to s tím Gnome a případnou závislostí na systemd?
A jak je to s tím Gnome a případnou závislostí na systemd?Zatim se o tom dohadujou, neni to jen vec systemd, ale obecne tvrdych zavislosti. Vypada to tak, ze pro zakladni funkcionalitu bude relativne minimum zavislosti a pro tu rozsirenou uz bude potreba systemd. Takze zkompilovat to pujde, ale nebude se jednat o full feature set (coz ja to tak v podstate pouzivam v Gentoo, bez nekterych zbytecnych veci). Diskuze ale stale probiha.
Zatim se o tom dohadujou, neni to jen vec systemd, ale obecne tvrdych zavislosti. Vypada to tak, ze pro zakladni funkcionalitu bude relativne minimum zavislosti a pro tu rozsirenou uz bude potreba systemd.To by mě zajímalo, jaké volitelné funkce můžu těžit ze systemd.
systemd-logind
nahrazuje ConsoleKit, čili drobnosti jako zamykání session, uspávání, zakázání logind, aby obsluhoval některé speciální klávesy a podobně.
Stejně tak pro DM je logind
nezbytný, takže minimálně gdm
, tak i kdm
jej používají namísto ConsoleKitu.
No a systemd
byl od počátku psán jako univerzální správce "sezení", takže do budoucna i gnome-systemd-session
, nebo tak něco, ale to by nejspíše nešlo o volitelnou závislost Jednak systemd-logind nahrazuje ConsoleKit, čili drobnosti jako zamykání session, uspávání, zakázání logind, aby obsluhoval některé speciální klávesy a podobně.Ok, takže z toho máš pak takové XFCE…
Stejně tak pro DM je logind nezbytný, takže minimálně gdm, tak i kdm jej používají namísto ConsoleKitu.Co si tak pamatuju, tak gdm by mělo predatovat jak systemd, tak consolekit.
No a systemd byl od počátku psán jako univerzální správce "sezení"Až na to, že ne každý si pod slovem univerzální představuje Linux-only.
Další projekty, které na tomto rozšíření závisí jsou upstart a systemd, a pravděpodobně se přidají další. To naznačuje, že kompilátor pro linuxový svět tento atribut bude muset tak jako tak implementovat.Upstart neznam, ale vsadim se ze jako spravna canonicalovina nereflektuje nic za hranicemi LTS ubuntu. Systemd je, bez urazky, ditko stejnych rukou jako pulse audio. To bych nepovazoval za reprezentativni vzorek linuxoveho sveta. To spis samotnej network manager by se za nej dal povazovat.
To spis samotnej network manager by se za nej dal povazovat.To mě zajímá :).
Tak nejak mi pripada ze NM uspesne pronika ruznyma distrama bez toho aby vzbuzoval kontroverze jako vytvory canonicalu nebo poetteringa.Takhle… NetworkManager způsobuje problémy spíše chybami nebo chybějícími funkcemi, než vědomě vtisknutými vlastnostmi. A případné problémy se snažíme řešit. Ale v některých ohledech je jeho použití jako reprezentativního vzorku dosti nelichotivé.
Tiskni
Sdílej: