Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.
Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.
Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.
V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.
Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být
… více »Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.
*********** server.c *************
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#define SOCK_PATH "socket"
struct server_sock {
int sock; /*socket serveru*/
int sock_c[256]; /*klientske sockety*/
int len; /*velikost vyhrazene pameti*/
int t;
int n; /*pocet klientskych socketu*/
struct sockaddr_un local, remote;
};
struct server_sock create_sock(void);
struct server_sock create_sock(void)
{
struct server_sock server;
char str[100];
if ((server.sock = socket(PF_UNIX, SOCK_STREAM, 0)) == -1)
{
fprintf(stdout, "socket : %s\n",strerror(errno));
exit(1);
}
server.local.sun_family = PF_UNIX;
strcpy(server.local.sun_path, SOCK_PATH);
unlink(server.local.sun_path);
server.len = strlen(server.local.sun_path) + sizeof(server.local.sun_family);
if (bind(server.sock, (struct sockaddr *)&server.local, server.len) == -1)
{
fprintf(stdout, "bind : %s\n",strerror(errno));
exit(1);
}
if (listen(server.sock, 10) == -1)
{
fprintf(stdout, "listen on server socket : %s\n",strerror(errno));
exit(1);
}
return(server);
}
int main(void)
{
struct server_sock server;
char str[100];
int i = 0, n;
int sockn = 0;
int len;
int sock;
fd_set sock_set;
/*vytvoreni socketu*/
server = create_sock();
sock = server.sock;
//tv.tv_sec = 3;
//tv.tv_usec = 0;
printf("Cekam na spojeni...\n");
len = sizeof(server.remote);
FD_ZERO(&sock_set);
FD_SET(sock, &sock_set);
while (1)
{
//FD_ZERO(&sock_set);
//FD_SET(sock, &sock_set);
for (i = 0; i < sockn; i++)
FD_SET(server.sock_c[i], &sock_set);
if (select(sock + 1, &sock_set, NULL, NULL, NULL) < 0)
{
fprintf(stdout, "select : %s\n",strerror(errno));
close(server.sock);
unlink(SOCK_PATH);
exit(1);
}
if (FD_ISSET(server.sock, &sock_set))
{
len = sizeof(server.remote);
if ((server.sock_c[sockn] = accept(server.sock, (struct sockaddr *)&server.remote, &len)) == -1)
{
fprintf(stdout, "accept : %s\n",strerror(errno));
close(server.sock);
unlink(SOCK_PATH);
exit(1);
}
FD_SET(server.sock_c[sockn], &sock_set);
server.n = sockn++;
fprintf(stdout, "Connected.\n");
}
for (i = 0; i < sockn; i++)
{
if (FD_ISSET(server.sock_c[i], &sock_set))
{
n = recv(server.sock_c[i], str, 100, 0);
if (n <= 0)
{
fprintf(stdout, "recv : %s\n",strerror(errno));
FD_CLR(server.sock_c[i], &sock_set);
close(server.sock_c[i]);
exit (1);
}
printf("DDD: send\n");
if (send(server.sock_c[i], str, n, 0) <= 0)
{
fprintf(stdout, "send : %s\n",strerror(errno));
close(server.sock_c[i]);
exit (1);
}
}
}
printf("go to back - select\n");
}
close(server.sock);
unlink(SOCK_PATH);
return (0);
}
*************konec****************
Omlouvam se za delku prikladu, ale pro nazornost jej posilam cely.
Dekuji za kazdou radu.
Prvý parameter funkcie select je počet popisovačovjj, tam bude určitě chyba. Ještě bych se zamyslel nad těmi zakomentovanými řádky na začátku while cyklu, mylím, že by tam být měly (nezakomentované)
poll() jako náhradu select(), jeho použití mi připadá trochu přehlednější.
Když už jsme u těch osobních preferencí, tak z hlediska přehlednosti bych to seřadil asi takto:
fork()pthread_create()poll()select()Tedy o obou bych uvažoval až ve chvíli, kdy bych měl vážné důvody nepoužít samostatné procesy nebo thready a jen pro specifické služby (velmi rychlé vyřízení požadavku, nevadí serializace).
Tiskni
Sdílej: