Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.
O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.
Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy
… více »Evropská komise obvinila síť 𝕏 z porušení unijních pravidel, konkrétně nařízení Evropské unie o digitálních službách (DSA). Vyměřila jí za to pokutu 120 milionů eur (2,9 miliardy Kč). Pokuta je podle názoru amerického ministra zahraničí útokem zahraničních vlád na americký lid. K pokutě se vyjádřil i americký viceprezident: „EU by měla podporovat svobodu projevu, a ne útočit na americké společnosti kvůli nesmyslům“.
Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.
Netflix kupuje Warner Bros. včetně jejích filmových a televizních studií HBO Max a HBO. Za 72 miliard dolarů (asi 1,5 bilionu korun).
V Las Vegas dnes končí pětidenní konference AWS re:Invent 2025. Společnost Amazon Web Services (AWS) na ní představila celou řadu novinek. Vypíchnout lze 192jádrový CPU Graviton5 nebo AI chip Trainium3.
Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.
Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.
Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.
/*
execute system utilities, run a specified binary with
string arguments and return an output as a single string
$Id$
*/
#include unistd.h
#include stdio.h
#include stdlib.h
#include string.h
#include syslog.h
#include sys/types.h
#include sys/wait.h
#define TIMEOUT_SEC 1
#define TIMEOUT_MSEC 200000
/* how long we will waiting for childs... */
int exec_command(const char *command, char *const args[], char *output, int len)
{
/* parameters:
- command is a command (the same meaning as path in exec functions)
- args[] are arugumets for execvp commands (null terminated array of strins)
- output is output buffer previously allocated to lenght len
- len is the max. lenght of output
*/
pid_t f;
int pipa[2]; /* pipa = the tap to get out beer from barel,in czech
*/
int i,j,n;
fd_set rfds;
struct timeval tv;
if( pipe(pipa) < 0 ) {
syslog(LOG_ERR,"pipe: %m: cannot create for %s\n",command);
return(-1);
}
f = fork();
if( f < 0 ) {
syslog(LOG_ERR,"Fork failed. The %s move failed.\n",command);
return(-1);
}
else if( f == 0 ) {
close(1);
dup(pipa[1]);
close(pipa[0]);
close(pipa[1]);
fprintf(stderr,"%s %s %s %s\n",command,args[0],args[1],args[2]);
#ifdef DEBUG
fprintf(stderr,"%s %s %s %s\n",command,args[0],args[1],args[2]);
#endif
if( (j = execvp(command,args)) < 0 ) {
syslog(LOG_ERR,"execlp %s: %m\n",command);
/* a child should (!) write any output else a thread is stoped forever
(if block-read without select is used in main) or zombie is created */
write(1,"",len-1);
}
exit(j);
}
else {
/* use of the non-block input when no data are presented */
n = 0;
strcpy(output,"");
FD_ZERO(&rfds);
FD_SET(pipa[0], &rfds);
tv.tv_sec = TIMEOUT_SEC;
tv.tv_usec = TIMEOUT_MSEC;
if( select(pipa[0]+1, &rfds, NULL, NULL, &tv) ) {
read(pipa[0],output,len);
}
for( i = 0; output[i] != '\0' && i < len ; i++)
if( output[i] == '\n' )
output[i] = '\0';
#ifdef DEBUG
printf("Child returned: >%s<\n",output);
#endif
if( waitpid(f,&i,0) < 0 ) {
syslog(LOG_ERR,"wait: %m\n");
return(-1);
}
if( !WIFEXITED(i) ) {
syslog(LOG_ERR,"Child exited with code %d\n",WEXITSTATUS(i));
return(-1);
}
}
return(i);
}
Tiskni
Sdílej: