Byla vydána nová verze 4.4 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
ASUS má v nabídce komplexní řešení pro vývoj a nasazení AI: kompaktní stolní AI superpočítač ASUS Ascent GX10 poháněný superčipem NVIDIA GB10 Grace Blackwell a platformou NVIDIA DGX Spark. S operačním systémem NVIDIA DGX založeném na Ubuntu.
Desktopové prostredie Trinity Desktop vyšlo vo verzii R14.1.5. Je tu opravená chyba v tqt komponente spôsobujúca 100% vyťaženie cpu, dlaždice pre viac monitorov a nemenej dôležité su dizajnové zmeny v podobe ikon, pozadí atď. Pridaná bola podpora distribúcií Debian Trixie, Ubuntu Questing, RHEL 10 a OpenSUSE Leap 16.
Grafická aplikace Easy Effects (Flathub), původně PulseEffects, umožňující snadno povolovat a zakazovat různé audio efekty v aplikacích používajících multimediální server PipeWire, byla vydána ve verzi 8.0.0. Místo GTK 4 je nově postavená nad Qt, QML a Kirigami.
Na YouTube lze zhlédnout Godot Engine – 2025 Showreel s ukázkami toho nejlepšího letos vytvořeného v multiplatformním open source herním enginu Godot.
Blíží se konec roku a tím i všemožná vyhlášení slov roku 2025. Dle Collins English Dictionary je slovem roku vibe coding, dle Dictionary.com je to 6-7, …
Cloudflare Radar: podíl Linuxu na desktopu dosáhl v listopadu 6,2 %.
Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i
… více »Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.50.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.
Komunita kolem Linux Containers po roce vývoje představila (YouTube) neměnný operační systém IncusOS speciálně navržený pro běh Incusu, tj. komunitního forku nástroje pro správu kontejnerů LXD. IncusOS poskytuje atomické aktualizace prostřednictvím mechanismu A/B aktualizací s využitím samostatných oddílů a vynucuje zabezpečení bootování pomocí UEFI Secure Bootu a modulu TPM 2.0. Postaven je na Debianu 13.
/*
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: