V pátek 20. února 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy
… více »Evropská rada vydavatelů (EPC) předložila Evropské komisi stížnost na americkou internetovou společnost Google kvůli její službě AI Overviews (AI souhrny), která při vyhledávání na internetu zobrazuje shrnutí informací ze zpravodajských serverů vytvořená pomocí umělé inteligence (AI). Evropská komise již v prosinci oznámila, že v souvislosti s touto službou začala firmu Google vyšetřovat. Google obvinění ze strany vydavatelů
… více »Ubuntu 26.04 (Resolute Raccoon) už nebude v desktopové instalaci obsahovat GUI nástroj 'Software & Updates'. Důvodem jsou obavy z jeho složitosti pro běžné uživatele a z toho plynoucích bezpečnostních rizik. Nástroj lze doinstalovat ručně (sudo apt install software-properties-gtk).
Thomas Dohmke, bývalý CEO GitHubu, představil startup Entire - platformu pro spolupráci vývojářů a agentů umělé inteligence. Entire získalo rekordních 60 milionů dolarů na vývoj databáze a nástrojů, které mají zefektivnit spolupráci mezi lidmi a agenty umělé inteligence. Dohmke zdůrazňuje potřebu přepracovat tradiční vývojové postupy tak, aby odpovídaly realitě, kdy většinu kódu produkuje umělá inteligence.
Toyota Connected North America oznámila vývoj open-source herního enginu Fluorite, postaveného na frameworku Flutter. Pro renderování grafiky využívá 3D engine Filament od společnosti Google a dle svého tvrzení cílí na konzolovou kvalitu her. Fluorite je zřejmě navržen tak, aby fungoval i na méně výkonném hardware, což naznačuje možnost použití přímo v ICE systémech vozidel. Zdrojový kód zatím zveřejněný není.
Byl vytvořen nástroj a postup pro překonání věkového ověření platforem Discord, Kick, Twitch, Snapchat (a možná dalších), kód je open-source a dostupný na GitHubu. Všechny tyto sítě používají stejnou službu k-ID, která určuje věk uživatele scanem obličeje a na původní server posílá pouze šifrovaná metadata, ty ale sociální síť už nedokáže sama nijak validovat, 'útok' spočívá ve vygenerování a podstrčení legitimně vypadajících ověřovacích metadat.
Jihokorejská kryptoměnová burza Bithumb přiznala vážné selhání interních systémů, které ji vystavilo riziku sabotáže a nezabránilo chybné transakci v hodnotě přes 40 miliard dolarů (814 miliard Kč). Druhá největší kryptoměnová burza v Koreji minulý týden při propagační akci omylem rozeslala zákazníkům zhruba 620 000 bitcoinů místo 620 000 wonů (8700 Kč). Incident vyvolal pokles ceny bitcoinu o 17 procent. Většinu
… více »Google Chrome 145 byl prohlášen za stabilní. Nejnovější stabilní verze 145.0.7632.45 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Zpátky je podpora grafického formátu JPEG XL, viz Platform Status. Odstraněna byla před třemi lety. Nový dekodér JPEG XL jxl-rs je napsán v Rustu. Zobrazování JPEG XL lze vyzkoušet na testovací stránce. Povolit lze v nastavení chrome://flags (Enable JXL image format).
Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.
str zarovnaný.
#include <errno.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <string.h>
#include <stdio.h>
int main(void) {
int id = shmget(10789L, 10, IPC_CREAT | 0777);
char str[] = "abcdefghi";
char* addr = (char*) shmat(id, str, SHM_RND);
if ((long)addr == -1) {
printf("Error: %s\n", strerror(errno));
return 1;
}
return 0;
}
Přitom pokud nechci mapovat existující oblast paměti, ale novou oblast, kód funguje:
char* addr = (char*) shmat(id, 0, SHM_RND);Přiznávám se rovnou, že programování v C není zrovna moje hobby a do tohohle jsem se pustil jenom proto, že jsem doufal, že napsat těch 10 řádek nebude problém… Podle
man shmat by ten kód měl být IMHO vpořádku, asi přehlížím nějakou triviální chybu – dokáže mi někdo poradit, jak na to?
uname -a Linux 2.6.16-gentoo-r7 #2 PREEMPT Fri May 26 18:27:12 CEST 2006 i686 AMD Athlon(tm) XP 2600+ GNU/Linux ls -l /usr/lib/libglib.so lrwxrwxrwx 1 root root 21 Feb 3 2005 /usr/lib/libglib.so -> libglib-1.2.so.0.0.10Podotýkám, že potřebuji takto nasdílet již "existující" blok paměti. Výsledek má být zakomponován do JNI a Javy a potřebuji takhle komunikovat s již existujícím sw, který používá právě sdílenou paměť, takže jiný způsob IPC nemůžu použít.
str tímhle způsobem nasdílím. Že by v tom byl zakopaný hafan?
Ona adresa, kam se bude sdílená paměť mapovat, tedy vždy znamená, že tam sdílená paměť vznikne? A pokud chci začít sdílet již existující data, musím je do sdílené paměti nakopírovat?
Ono je to vlastně logické, protože shmat už neví nic o tom, že jsem před chvílí přes shmget sdílenou paměť vytvořil, a kdybych se pokusil s tou mojí logikou namapovat na existující adresu sdílenou paměť vytvořenouněkým jiným, měl bych najednou dva kandidáty na obsah sdílené paměti – obsah, který tam vytvořil jiný program (a který se sdílí), a obsah, který je uložen na zadané adrese v adresním prostoru mého programu. A to by asi nešlo.
Takže ano, adresa předávaná fci shmat je dobrá jenom k tomu, pokud mám speciální přání, kam do mého adresního prostoru se má sdílená paměť namapovat, ale sdílet již přidělenou paměť takhle nemůžu.
Díky za nakopnutí správným směrem
Tiskni
Sdílej: