UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.
WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.
Byl představen ICT Supply Chain Security Toolbox, společný nezávazný rámec EU pro posuzování a snižování kybernetických bezpečnostních rizik v ICT dodavatelských řetězcích. Toolbox identifikuje možné rizikové scénáře ovlivňující ICT dodavatelské řetězce a na jejich podkladě nabízí koordinovaná doporučení k hodnocení a mitigaci rizik. Doporučení se dotýkají mj. podpory multi-vendor strategií a snižování závislostí na vysoce
… více »Nizozemský ministr obrany Gijs Tuinman prohlásil, že je možné stíhací letouny F-35 'jailbreaknout stejně jako iPhony', tedy upravit jejich software bez souhlasu USA nebo spolupráce s výrobcem Lockheed Martin. Tento výrok zazněl v rozhovoru na BNR Nieuwsradio, kde Tuinman naznačil, že evropské země by mohly potřebovat větší nezávislost na americké technologii. Jak by bylo jailbreak možné technicky provést pan ministr nijak nespecifikoval, nicméně je známé, že izraelské letectvo ve svých modifikovaných stíhačkách F-35 používá vlastní software.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).
Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně
… více »Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Red Hat představil nový nástroj Digital Sovereignty Readiness Assessment (GitHub), který organizacím umožní vyhodnotit jejich aktuální schopnosti v oblasti digitální suverenity a nastavit strategii pro nezávislé a bezpečné řízení IT prostředí.
Ahoj, dnes jsem narazil na cosi zvláštního. Změnil jsem typ STL kontejneru a nepoužil jsem refactoring. Eclipse tedy přeložil projekt s původními deklaracemi iterátorů a s novým typem kontejneru. Kupodivu bylo možné (aspoň z pohledu překladače a v době překladu) přiřadit nekompatibilní iterátory.
Deklarace kontejneru:
const std::map< uint32_t, Hook * > hooks;
Tohle se nepřeloží a důkladně to zařve, což jistě nikoho nepřekvapí:
const std::vector< Hook * >::const_iterator end = hooks.end();
Jenže (a teď to přijde!) tohle se mi přeloží:
const std::vector< Hook * >::const_reverse_iterator end = hooks.rend();
Jak to? Proč? Kdyby konverze těch iterátorů dávala smysl (iterace přes klíče...?), byl by na to konverzní operátor a bylo by to v dokumentaci. (Navíc by to fungovalo v obou směrech.) Jenže pokud vím, není tomu tak. Ještě doplním, že používám kompilátor Intel.
Tohle je buď záhada, nebo další tajemné zákoutí C++, které ještě neznám. Je snad mezi „normálními“ a „převrácenými“ iterátory nějaký podstatný rozdíl?
Zajímavé, zajímavé. gcc to vezme také, a dokonce je spokojený i s tímhle :(
const std::map< std::string, std::string > hooks;
const std::vector< int ** >::const_reverse_iterator end = hooks.rend();
Jak vypada vas zdrojak? Jak ho kompilujete? Mne to g++ (verze 3.3, 4.[0-3]) nesezere.
$ cat test.cc
#include <vector>
#include <stdint.h>
#include <map>
struct Hook
{
char data;
};
int main(int argc, char** argv)
{
const std::map<uint32_t, Hook*> hooks;
// const std::vector< Hook * >::const_iterator end_a = hooks.end();
const std::vector< Hook * >::const_reverse_iterator end_b = hooks.rend();
return 0;
}
$ g++ -o test test.cc
/usr/include/c++/4.3/bits/stl_iterator.h: In constructor ‘std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iter>&) [with _Iter = std::_Rb_tree_const_iterator<std::pair<const unsigned int, Hook*> >, _Iterator = __gnu_cxx::__normal_iterator<Hook* const*, std::vector<Hook*, std::allocator<Hook*> > >]’:
test.cc:16: instantiated from here
/usr/include/c++/4.3/bits/stl_iterator.h:139: error: no matching function for call to ‘__gnu_cxx::__normal_iterator<Hook* const*, std::vector<Hook*, std::allocator<Hook*> > >::__normal_iterator(std::_Rb_tree_const_iterator<std::pair<const unsigned int, Hook*> >)’
/usr/include/c++/4.3/bits/stl_iterator.h:683: note: candidates are: __gnu_cxx::__normal_iterator<_Iterator, _Container>::__normal_iterator(const _Iterator&) [with _Iterator = Hook* const*, _Container = std::vector<Hook*, std::allocator<Hook*> >]
/usr/include/c++/4.3/bits/stl_iterator.h:680: note: __gnu_cxx::__normal_iterator<_Iterator, _Container>::__normal_iterator() [with _Iterator = Hook* const*, _Container = std::vector<Hook*, std::allocator<Hook*> >]
/usr/include/c++/4.3/bits/stl_iterator.h:666: note: __gnu_cxx::__normal_iterator<Hook* const*, std::vector<Hook*, std::allocator<Hook*> > >::__normal_iterator(const __gnu_cxx::__normal_iterator<Hook* const*, std::vector<Hook*, std::allocator<Hook*> > >&)
Tiskni
Sdílej: