Byla vydána nová stabilní verze 7.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 140. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.
Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.
Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.
Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.
#include < sys/socket.h > #include < netinet/in.h > #include < arpa/inet.h > #include < stdio.h > #include < stdlib.h > int main(int argc, char *argv[]) { struct in_addr addr; unsigned char buf[sizeof(struct in6_addr)]; char str[INET6_ADDRSTRLEN]; if (argc<2) { fprintf(stderr, "IPv4 address required as an argument.\n"); exit(EXIT_FAILURE); } if (inet_aton(argv[1], &addr) == 0) { perror("inet_aton"); exit(EXIT_FAILURE); } if (inet_pton(AF_INET, argv[1], buf) != 1) { perror("inet_pton"); exit(EXIT_FAILURE); } if (inet_ntop(AF_INET6, buf, str, INET6_ADDRSTRLEN)==NULL) { perror("inet_ntop"); exit(EXIT_FAILURE); } printf("%s\n", str); exit(EXIT_SUCCESS); }
Řešení dotazu:
#define _GNU_SOURCE #include < string.h> #include < sys/socket.h> #include < netinet/in.h> #include < arpa/inet.h> #include < stdio.h> #include < stdlib.h> #define IPV6_ADDRESS_SIZE sizeof(struct in6_addr) int main(int argc, char *argv[]) { struct in_addr addr; unsigned char buf_v4[sizeof(struct in_addr)]; unsigned char buf_v6[IPV6_ADDRESS_SIZE] = {0}; unsigned char str[INET6_ADDRSTRLEN]; if (argc<2) { fprintf(stderr, "IPv4 address required as an argument.\n"); exit(EXIT_FAILURE); } if (inet_aton(argv[1], &addr) == 0) { perror("inet_aton"); exit(EXIT_FAILURE); } if (inet_pton(AF_INET, argv[1], buf_v4) != 1) { perror("inet_pton"); exit(EXIT_FAILURE); } *(buf_v6 + IPV6_ADDRESS_SIZE - 5) = 255; *(buf_v6 + IPV6_ADDRESS_SIZE - 6) = 255; mempcpy(buf_v6 + IPV6_ADDRESS_SIZE - 4, buf_v4, 4); if (inet_ntop(AF_INET6, buf_v6, str, INET6_ADDRSTRLEN)==NULL) { perror("inet_ntop"); exit(EXIT_FAILURE); } printf("%s\n", str); exit(EXIT_SUCCESS); }
Tiskni
Sdílej: