Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.
Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.
OpenAI spolupracuje s konkurenty Anthropic a Google DeepMind ze skupiny Alphabet na bezpečnosti umělé inteligence (AI). Globální obavy ohledně existenčních rizik umělé inteligence vzrostly poté, co se o víkendu sešli vedoucí předních amerických firem z odvětví AI a vyzvali k pozastavení vývoje technologie.
Evropská unie navrhne zákaz sociálních sítí, online her a chatbotů pro děti mladší 13 let a možnost účtu pro děti do 15 let jen se souhlasem rodičů, oznámila šéfka Evropské komise Ursula von der Leyenová v dnešním projevu ve Štrasburku. Návrh předpisu nazvaného EU Kids Act představí Evropská komise ve čtvrtek. Von der Leyenová zdůraznila, že chce, aby se rovněž změnilo základní pravidlo: platformy budou muset dokázat, že jsou bezpečné.
… více »Byla vydána Java 27 / JDK 27. Nových vlastností (JEP - JDK Enhancement Proposal) je 9.
Byl vydán Mozilla Firefox 156.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vestavěný prohlížeč PDF se nyní spouští o 45 % rychleji. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 156 bude brzy k dispozici také na Flathubu a Snapcraftu.
Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.
Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.
Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.
Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.
Abyste si nemyslel, že jsem Darling vzdal...
Tohle je postup prací od posledního zápisku z října:
A teď pár převážně kritických témat
Mikrokernel Mach je velmi, velmi pomalý. Je natolik pomalý, že synchronizační nástroje (lockset, semaphores...) běží řádově rychleji pod mou emulací daných volání na Linuxu než na původním systému. Zatímco na Linuxu proběhne test s 30 000 uzamčeními v několika vláknech stabilně za 0,13 sekundy, na OS X to trvá náhodně mezi 2 a 8 sekundami.
Přemýšlím nad implementací Mach Ports (IPC; popis v GNU Hurd). Musel by to být jaderný modul, už mám jakousi kostru, která vytvoří /dev/machipc, nad kterým lze dělat volání pomocí ioctl(). Otázka je, jestli to má smysl, protože moc aplikací asi pro vlastní komunikaci Mach Ports nepoužívá. On s tím hlavně nikdo moc neumí a je to takové poněkud zapeklité.
Přemýšlel jsem o podpoře platforem ppc a ppc64, neboť až do roku 2005 byl OS X provozován na PowerPC hardwaru. Hned jsem si vzpomněl na můj PlayStation 3, který je také PPC. Já blbec jsem ale někdy před rokem aktualizoval firmware na verzi 4.00, která nejde bez rozebrání a ručního přeflashování hacknout tak, abych z toho měl linuxový stroj.
QEMU bohužel není řešení. Emulace ARM mi pod QEMU funguje krásně, ale PPC a PPC64 mi ani jedno nefunguje (nebo to trvá tak dlouho, že jsem to po 2 minutách načítání jádra vzdal).
Kdyby tedy někdo z vás měl třeba nepoužívaný starý Mac Mini G4 a byl by ochoten ho darovat (protože peníze se mi za to dávat nechce), byl bych moc rád
To jen taková samochvála. Kdykoliv najdete na opensource.apple.com hezký, přehledný kód, tak není od Apple. Jakmile je to totální slepenec, ve kterém aby se čert vyznal, tak je to jejich původní kód. Když se někdy podívám, jak to udělali oni a jak jsem to udělal já, tak se prostě musím pochválit, jak elegantní ten výsledek je :-P
Na úrovni dynamického loaderu bych rád podporoval i platformu ARM, ze softwarového hlediska tedy iOS (iPod/iPad/iPhone). Aby z toho bylo něco opravdu užitečného, tak by bylo nutné dopsat příslušná API v iOS SDK nad něčím jiným (Android?). Půjde tedy spíše o proof of concept.
Práce je obrovské množství. Našla by se spousta práce, která není nijak obtížná, ale přesto je nutné ji udělat. Kdyby se našli zájemci, jistě by se našla témata (knihovny) pro volný čas, semestrálky, bakalářky apod. Třeba takové Apple Events se dají relativně snadno napsat nad libdbus.
Tiskni
Sdílej:
Existuju nejaké vzorky kódu Applu a opensource verzie ?
Dôvod portovania linuxu na hardvér applu ?
Existuju nejaké vzorky kódu Applu a opensource verzie ?opensource.apple.com a git.dolezel.info. Tohle není úplně 100% ukázka, ale první díl tohoto souboru (až po #else) a tento můj soubor to také trochu ilustrují. Nebo třeba masochismus Applu, který se dá nahrazovat minimem assembleru pro snazší portování. Hodně věcí v Applu se šije horkou jehlou, bez rozmyslu. Pak jsou výsledkem hacky kvůli zachování ABI, nahodile vlepované kusy kódu do jiného kódu, duplicity apod.
Dôvod portovania linuxu na hardvér applu ?Nejak jsem nepochopil otázku. Já Linux neportuju, Linux na ppc dávno chodí.
setjmp/longjmp mě mírně děsí
Stručně jde o to, že zatímco 64bit ObjC výjimky používají "standardní" mechanismus výjimek na bázi libunwind a spol., takže to jde stejnou cestou jako výjimky C++, na 32bit to mají z nějakého historického důvodu jinak.
Každý vstup do try bloku se tedy mění na volání objc_exception_try_enter, kterému se předá výstup funkce setjmp() volané hned před tím, a výstup z try bloku se analogicky mění na objc_exception_try_exit. Je-li hozena výjimka, runtime si vezme poslední try blok, který má na interním stacku, a udělá na něj longjmp(). To vede k tomu, že se program vrátí na to volání setjmp(), ale tentokrát ta funkce vrátí jinou hodnotu, což indikuje, že bylo skočeno zpět - tzn. došlo k výjimce.
Na to vygenerovaný kód programu reaguje skokem do oblasti catch handlerů. Tam se kód ptá pomocí objc_exception_match(), jestli handler pro typ XYZ může handlovat výjimku, kterou si to získalo přes objc_exception_extract(). Pokud tam takový handler není, tak se opět - nanovo - volá objc_exception_throw(), které tu výjimku hodí přes try blok o úroveň níž.
No každopádně, "zajímavě" to mají v tom ObjC pánové vyřešeno, jen co je pravda
Je vidieť ako ľudia chránia vyvojárov pred super ultra mega užasným Apple systémom. Ktorý je tak úžasne súper, že si užívateľia nechaju diktovať čo je správne a čo nie. Alebo nemôžu zniesť, že by ich užasné MAC aplikácie fungovali na inom systéme ako len jedinom správnom systéme.
register n = (count + 7) / 8; /* count > 0 assumed */
switch (count % 8)
{
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);
}
Toto je validní C kód ( žádná chyba ).
switch vevnitř v do, ne obráceně jako v Duff's device. Duff's device slouží k ompimalizaci - částečnému rozbalení smyčky, kdežto v tom článku ten switch slouží k rozlišení výstupu setjmp(). Celej ten switch mají ještě obalen v do { ... } while(0), nejspíš proto, aby tím vznikl vlastní sub-scope pro jmp_buf.