U příležitosti 30. výročí vydání počítačové hry Quake byla vydána nová epizoda s názvem Dawn of the Machine (Steam).
Vládní CERT upozorňuje (𝕏) na sérii bezpečnostních záplat (CVSS 9.9) v produktech Cisco řešících kritické zranitelnosti umožňující obejití autentizace, eskalaci oprávnění, vzdálené spuštění kódu a odepření služby. Úspěšné zneužití může útočníkům umožnit získat neoprávněný přístup k dotčeným systémům, kompromitovat zařízení Cisco Catalyst SD-WAN a Cisco IOS XE, spustit libovolný kód, zpřístupnit citlivé informace nebo narušit dostupnost postižených systémů.
Soud v americkém státě Nové Mexiko ve čtvrtek nařídil internetové společnosti Meta Platforms zaplatit 567 milionů dolarů (téměř 12 miliard Kč) za újmy, které její platformy působí mladým lidem. S přihlédnutím k dřívějšímu verdiktu tak má společnost celkem zaplatit 942 milionů dolarů, což je malý zlomek jejího ročního výnosu, který loni činil 60 miliard dolarů. Čtvrteční verdikt firmě také nařizuje, aby změnila způsob, jakým její
… více »Mark Russinovich (CTO v Microsoft Azure) se na LinkedIn pochlubil svým projektem MS Paint Doom napsaným pomocí Claude. Hru Doom umožňuje hrát v programu Malování (Microsoft Paint). Malování funguje jako monitor. Herní engine (ViZDoom) běží na pozadí a každý vykreslený snímek hry vkládá automaticky přes schránku (clipboard) do Malování.
Platformy ChatGPT i Roblox by mohly být zařazeny na seznam mimořádně velkých on-line platforem nebo internetových vyhledávačů, na něž se vztahují zvláštní podmínky podle nařízení o digitálních službách (DSA). Vzhledem k tomu, že ChatGPT i Roblox oznámily počet uživatelů nad prahovou hodnotou DSA, je toto označení „rozhodně možné“ a mohlo by „přijít dříve či později“. On-line platformy a vyhledávače zařazené na seznamy DSA musejí
… více »Společnost Cloudflare představila Cloudflare OS (GitHub), tj. open source platformu navrženou pro integraci umělé inteligence (agentů) přímo do pracovních procesů organizací.
Byla vydána nová verze 5.13 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).
Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.
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.