Byla vydána verze 6 s kódovým název Faye linuxové distribuce LMDE (Linux Mint Debian Edition). Podrobnosti v poznámkách k vydání. Linux Mint vychází z Ubuntu. LMDE je postaveno na Debianu.
Byly publikovány informace o novém bezpečnostním problému pojmenovaném GPU.zip (paper, GitHub). S vlastním logem. Jedná se o možný útok postranním kanálem na grafickou kartu (GPU). Proces může "krást pixely" jinému procesu.
Projekt GNU dnes slaví 40. výročí. Přesně před čtyřiceti lety, 27. září 1983, Richard Stallman oznámil, že se chystá napsat s Unixem kompatibilní operační systém GNU (Gnu's Not Unix). Hlavní oslava a setkání hackerů probíhá ve Švýcarsku ve městě Biel/Bienne. Na programu je také přednáška Richarda Stallmana.
Byl vydán Mozilla Firefox 118.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vypíchnout je nutno automatický lokální strojový překlad webových stránek. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 118 je již k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová major verze 15.0.0 softwaru OCRmyPDF pro přidávání textové vrstvy k naskenovaným PDF dokumentům (PDF/A). Přehled novinek v poznámkách k vydání. OCRmyPDF využívá pro optické rozpoznávání znaků (OCR) engine Tesseract.
Karel Matějka zveřejnil druhé demo své chystané hry Bzzzt. Kromě verze pro Windows a macOS je dostupná i verze pro Linux. Plná verze hry má vyjít zanedlouho.
Noví Bulánci byli oficiálně vydáni. V roce 2021 bylo na Startovači na podporu vývoje této hry vybráno 7,3 miliónů Kč. Hra je zatím určena jenom pro Windows, díky Protonu ale běží také na Linuxu.
ChatGPT může vidět, slyšet a mluvit.
Upscaler je open source nástroj pro zvýšení rozlišení a vylepšení obrázků pomocí AI. Vývoj probíhá na GitLabu. Instalovat lze také z Flathubu. Stejně jako Upscayl je Upscaler postaven nad Real-ESRGAN.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.20.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdio.h>
#define BAUDRATE B19200
#define MODEMDEVICE "/dev/ttyUSB0"
#define FALSE 0
#define TRUE 1
volatile int STOP=FALSE;
main()
{
int fd,c, res;
struct termios oldtio,newtio;
char buf[255];
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
if (fd <0) {perror(MODEMDEVICE); exit(-1); }
tcgetattr(fd,&oldtio); /* save current port settings */
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;
newtio.c_iflag = (INPCK | IGNPAR);
newtio.c_oflag = 0;
/* set input mode (non-canonical, no echo,...) */
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 0; /* inter-character timer unused */
newtio.c_cc[VMIN] = 1; /* blocking read until 5 chars received */
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
while (STOP==FALSE) { /* loop for input */
res = read(fd,buf,255); /* returns after 5 chars have been input */
buf[res]=0; /* so we can printf... */
write (fd, "a", 1);
if (buf[0] == 'I') write (fd, "sipka nahoru" , 12);
else
printf("%s\n", buf);
if (buf[0]=='I') STOP=TRUE;
}
tcsetattr(fd,TCSANOW,&oldtio);
}
echo "ahoj" > /dev/ttyUSB0neco na displej vypise?
fd = open("/dev/...", O_RDWR); write(fd, ...); read(fd, ...); close(fd);
options.c_cflag = parita,rychlost,stopbity ... options.c_cflag |= CS8 | CLOCAL | CREAD | HUPCL; options.c_iflag = IGNPAR | IGNBRK | INPCK | IMAXBEL | IXOFF; options.c_lflag = ECHOKE; options.c_oflag = ONOCR;
2.nejak nemuzu prijit na to jak pouzivat len() u fce write musim zadat i pocet odesilanych znaku write(fd,"a",1) - jeden znak - a do streamu fd, v pripade ze mam pole znaku napr. char c[] = {'a','h','o','j'}; a nechci zadavat pocet znaku (protoze pole budu potrebovat generovat ruzne dlouhe), zkousel jsem write (fd, c , len(c)) ale nevim proc nefunguje to :(Pokud pole znaků bude vždycky nějaký text, můžeš to pole udělat null-terminated a pro zjištění délky použít strlen().
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> int main(int argc, char **argv) { char up[] = "\xFE\x58sipka nahoru"; char down[] = "\xFE\x58sipka dolu"; char *tosend = NULL; int a = 'J'; switch(a){ case 'I': tosend = strdup(up); break; case 'J': tosend = strdup(down); break; default: printf("Strange character\n"); exit(-1); } printf("string length is %d\n", strlen(tosend)); printf("%s", tosend); free(tosend); return 0; }Když to pustím pajpou do xxd, tak je vidět, jaký je obsah řetězce:
$ ./a.out | xxd 0000000: 7374 7269 6e67 206c 656e 6774 6820 6973 string length is 0000010: 2031 320a fe58 7369 706b 6120 646f 6c75 12..Xsipka dolu ^^^^
Tiskni
Sdílej: