Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Zdravim,
Mam TCP server a pre kazde nove spojeni vytvaram novy proces - fork. Potrebuju mit ale moznost zasielania sprav vsem pripojenym klientum. Ako pri pouziti fork-u zistim pocet klientu a vsetky sockety na ktore mam boradcastovat ?
Napadlo ma reseni, kde si pred kazdym frok-om ulozim socket descriptor
if ((csd = accept(sd, (struct sockaddr *)&cliaddr, &clilen)) < 0) {
if (errno == EINTR)
continue;
else
printError(ERR_ACCEPT, sd);
}
bnd_sock.push_back(csd);
if ((pid = fork()) == 0) ....
alebo je lepsi pouzit select() ?
Jak pise kolega, pri forkovani vznikne uplne novy proces, ktery nema s rodicem prilis mnoho spolecneho, kompletne oddeleny pametovy prostor, sance samozdrejme je s nim komunikovat jsou, jiz zde zminovany IPC.
Sdilena pamet mezi vice procesy patri taky do IPC, standartne se IPC deli na tyto kategorie.
- zpravy - doruceni
- synchronizace (tusim ze do toho spadaji veci kolem race condition semafory[mutexy atd])
- sdilena pamet
- vzdalene volani procedu (RPC)
O tom, ze se IPC pouziva vas muze presvedcit napr. utilitka ipcs, ukazuje vyuziti IPC mechanismu v systemu.
------ Segmenty sdílené paměti --------
klíč shmid vlastník práva bajty nattch stav
0x0056a4d5 25362433 660 384 3
0x0056a4d6 40304642 660 131072 2
0x00000000 589827 777 393216 3 cíl
0x00000000 1114116 644 110592 3 cíl
0x00000000 1310725 600 393216 2 cíl
0x00000000 1441798 600 393216 2 cíl
0x00000000 5210119 600 393216 2 cíl
0x00000000 5242888 600 393216 2 cíl
0x00000000 47218700 776 1382400 0
0x00000000 47251469 776 1382400 0
0x00000000 47284238 776 1382400 0
0x00000000 47317007 776 1382400 0
0x00000000 47349776 776 1382400 0
0x00000000 47382545 776 1382400 0
0x00000000 47415314 776 1382400 0
0x00000000 47448083 776 1382400 0
------ Pole semaforů --------
klíč semid vlastník práva nsems
0x0056a4d5 360450 660 1
------ Fronty zpráv --------
klíč msqid vlastník práva užité bajty zprávy
Vlastnik jsem zamerne smazal.
Select neni vubec spatny napad podle me, taky je zde moznost misto fork to predelat do vlaken, vlakna natrpi nevyhodou oddeleneho pametoveho prostoru poku me pamet neklame.
Otazka je kolik tech klientu pocitate ze budeme mit pripojenych online, ono schovavat si kazdy deskriptor neni zrovna med, spise bych sel tou cestou rodicovsky proces informuje o to,ze je treba neco udelat (neco jako priznak/vlajka) a procesy obsluhujici klienty se podle toho zaridit, nejspise samy presne vedi kdyz se jim to hodi zpravovat.
Pak tu mame jeste roury a "pojmenovane" roury, k tomu vam nic nereknu, pouzil jsem to asi 2x v zivote, jo funguje to, hojne se to i pouziva viz. nar konstrukce tar | gzip.
Pokud nechcete nic louskat v anglictine nebo je Vam proti srsti zkuste si procist serial na rootu, zejmena od 20kap. nahoru nebo tak nejak, obcas stroji za to i komentare. Me v zacatkach velmi pomohlo kniha Linux Zaciname programovat nez mi ji nejaky paznecht ukradl vcetne batohu, knizko ooo jak mi chybis. Koupil jsem si tedy druhy dil taky neni spatny.
http://www.root.cz/serialy/programovani-pod-linuxem-pro-vsechny/
Drzim palec, developery potrebuje jako sul.
Tiskni
Sdílej: