Společnost Oracle vlastní ochrannou známku JAVASCRIPT. Komunita kolem programovacího jazyka JavaScript zastoupena společností Deno Land vede právní bitvu za její osvobození, viz petice a otevřený dopis na javascript.tm. Do 7. srpna se k nim má vyjádřit Oracle (USPTO TTAB).
Byl představen samostatný rádiový modul Raspberry Pi Radio Module 2 s Wi-Fi a Bluetooth.
Certifikační autorita Let’s Encrypt ukončila k 4. červnu zasílání e-mailových oznámení o vypršení platnosti certifikátů. Pokud e-maily potřebujete, Let’s Encrypt doporučuje některou z monitorovacích služeb.
Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.
Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Kent Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.
Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.
Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].
Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.
Byla vydána verze 1.88.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.
Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.
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í 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
.