Greg Kroah-Hartman začal používat AI asistenta pojmenovaného gkh_clanker_t1000. V commitech se objevuje "Assisted-by: gkh_clanker_t1000". Na social.kernel.org publikoval jeho fotografii. Jedná se o Framework Desktop s AMD Ryzen AI Max a lokální LLM.
Ubuntu 26.10 bude Stonking Stingray (úžasný rejnok).
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.3.0. S experimentální podporou FLTK 1.4. S příkazem dilloc pro ovládání prohlížeče z příkazové řádky. Vývoj prohlížeče se přesunul z GitHubu na vlastní doménu dillo-browser.org (Git).
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vývojáři v přehledu vypíchli vylepšenou instalaci, podporu senzoru okolního světla, úsporu energie, opravy Bluetooth nebo zlepšení audia. Vývoj lze podpořit na Open Collective a GitHub Sponsors.
raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.
Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).
Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.
Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také
… více »Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).
namespace myns
{
struct myclass
{
int a() const { return 5; }
int b() const { return 6; }
int mysum() const { return a() + b(); }
};
// Enable ADL mysum call for myclass
int mysum(const myclass& m)
{
return m.mysum();
}
}
// -- 3rdparty knihovna --
namespace thirdparty
{
struct thirdpartyclass
{
int abc() const { return 5; }
int def() const { return 6; }
};
}
// -- vlastni kod, implementovat mysum pro thirdpartyclass, musi byt ve stejnem namespace jako thirdpartyclass, aby fungovalo ADL
namespace thirdparty
{
int mysum(const thirdpartyclass& t)
{
return t.abc() + t.def();
}
}
// -- pouziti v template:
namespace totalydifferentnamespace
{
template<class... T>
int getSumOfSums(const T&... t)
{
return (mysum(t) + ...); // Zde se vyuzije ADL, zavola se metoda mysum z namespace, kde je kazda trida definovana
}
}
int main()
{
myns::myclass mc;
thirdparty::thirdpartyclass t;
return totalydifferentnamespace::getSumOfSums(mc, t); // 11+11=22
}
namespace myns
{
struct myclass
{
int a() const { return 5; }
int b() const { return 6; }
int mysum() const { return a() + b(); }
};
}
// -- 3rdparty knihovna --
namespace thirdparty
{
struct thirdpartyclass
{
int abc() const { return 5; }
int def() const { return 6; }
};
}
// --
namespace totalydifferentnamespace
{
template<class... T>
int getSumOfSums(const T&... t)
{
return (t.mysum() + ...); // Zde se vyuzije ADL, zavola se metoda mysum z namespace, kde je kazda trida definovana
}
}
template<typename T>
struct mysuminterface // not specialized
{
int mysum() const { return 0; }
};
// specialzed for myns::myclass
template<>
struct mysuminterface<myns::myclass> : myns::myclass
{
using myns::myclass::mysum;
};
// specialzed for thirdparty::thirdpartyclass
template<>
struct mysuminterface<thirdparty::thirdpartyclass> : thirdparty::thirdpartyclass
{
int mysum() const { return abc() + def(); }
};
int main()
{
mysuminterface<myns::myclass> mc;
mysuminterface<thirdparty::thirdpartyclass> t;
return totalydifferentnamespace::getSumOfSums(mc, t); // 11+11=22
}
proč jakoby nestačí podědit nějakej trait a musí se 'hackovat' hotová instance?? :O :O
Tiskni
Sdílej: