Na Kickstarteru běží kampaň na podporu modulárního otevřeného handheldu Mecha Comet s Linuxem.
V nedávno zveřejněné kolekci dokumentů souvisejících s kontroverzním finančníkem a kuplířem Jeffrey Epsteinem se překvapivě objevil i referenční manuál unixového shellu Bash, jedná se o verzi manuálu z roku 2005. Aktuální vydání si lze stáhnout ze stránek GNU.
The Document Foundation oznámila vydání nové verze 26.2 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs). Vypíchnout lze podporu formátu Markdown.
Co se děje ve zprávách, ví asi každý - válka sem, clo tam, demonstrace na jednu i druhou stranu a bastlíř už má pocit, že se snad ani nic jiného neděje. To by však byl velký omyl a Virtuální Bastlírna je zde jako každý měsíc, aby vytáhla na světlo světa události ze světa vědy a techniky. Připojte se tedy nezávaznému povídání Strahovského MacGyvera! Co se tam bude probírat? PCBWay začalo dělat průhledné plošňáky, MARS končí s výrobou skříněk, FEL
… více »Guvernérka státu New York Kathy Hochul (Demokraté) plánuje novou legislativu, která by měla omezit výrobu 3D tištěných zbraní. Tento návrh zákona zavádí povinnost pro všechny 3D tiskárny prodávané ve státě New York obsahovat 'software' bránící ve výrobě zbraní. Návrh zákona rovněž zakazuje lidem sdílet 'digitální plány zbraní' (blueprinty) bez povolení. Existují důvodné obavy, že se tento nešťastný nápad může šířit do dalších zemí a ovlivnit celý 3D tisk jako takový. Ostatně, s podobnou regulací nedávno přišel i stát Washington.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za prosinec 2025 a leden 2026 (YouTube). Zajímavé, že i v roce 2026 celou řadu problémů vyřeší falšování řetězce User-Agent.
Bylo rozhodnuto, že Linux From Scratch (LFS) končí s podporou System V init. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů už budou pouze se systemd.
Byla vydána nová verze 2026.1.0 "Like a Version" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. Změněno bylo číslování verzí. Předchozí verze byla 2.9.1.
Internetový prohlížeč Firefox bude mít nové ovládací prvky pro umělou inteligenci, které umožní uživatelům vypnout vestavěné AI funkce přímo v nastavení prohlížeče. Jednotlivě půjde vypnout nebo zapnout automatické překlady stránek, generovaní popisného textu k obrázkům v otevřených PDF dokumentech, samoorganizaci tabů do skupin, náhledy odkazů s krátkým shrnutím a boční panel s chatbotem. Tyto možnosti v nastavení prohlížeče
… více »Desktopové prostředí KDE Plasma 6.6, která je právě ve fázi beta, nahrazuje stávající SDDM novým Plasma Login Managerem, který je ale pevně navázán na systemd. Plasma Login Manager využívá systemd-logind a další součásti systemd, které nejsou dostupné v operačních systémech bez systemd, jako je například FreeBSD, případně jsou linuxové distribuce Gentoo, Void Linux anebo Alpine Linux. Pro uživatele zatím stále ještě existuje možnost používat SDDM.
string_t a string_traits do vlastniho jmenneho prostoru. Pritom a.cpp jde zkompilovat (gcc) bez problemu, ale b.cpp skonci s chybou:
/usr/lib/gcc/3.4.4/include/c++/bits/stl_function.h: In member function `bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = xxx::string_t]': b.cpp:54: instantiated from here /usr/lib/gcc/3.4.4/include/c++/bits/stl_function.h:227: error: no match for 'operator<' in '__x < __y'Zajimavy je ze yyy::less funguje ale std::less ne. Pritom jsem yyy::less vytvoril jako kopii std::less... a.cpp:
#include <boost/mpl/bool.hpp>
#include <boost/utility/enable_if.hpp>
#include <functional>
namespace yyy
{
template<typename _Tp>
struct less : public std::binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x < __y; }
};
}
struct string_t { };
template <typename string_type_>
struct string_traits;
template <>
struct string_traits<string_t>
{
typedef string_t string_type;
};
template <typename A, typename B>
struct both_exist: public boost::mpl::true_ {};
template <typename T, typename U>
inline
typename boost::enable_if
<
both_exist
<
typename string_traits<T>::string_type,
typename string_traits<U>::string_type
>,
bool
>::type operator < (const T &str1, const U &str2)
{ }
int main()
{
yyy::less<string_t> cmp;
std::less<string_t> cmp1;
string_t a;
string_t b;
cmp(a, b);
cmp1(a, b);
}
b.cpp:
#include <boost/mpl/bool.hpp>
#include <boost/utility/enable_if.hpp>
#include <functional>
namespace yyy
{
template<typename _Tp>
struct less : public std::binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x < __y; }
};
}
namespace xxx {
struct string_t { };
template <typename string_type_>
struct string_traits;
template <>
struct string_traits<string_t>
{
typedef string_t string_type;
};
}
template <typename A, typename B>
struct both_exist: public boost::mpl::true_ {};
template <typename T, typename U>
inline
typename boost::enable_if
<
both_exist
<
typename xxx::string_traits<T>::string_type,
typename xxx::string_traits<U>::string_type
>,
bool
>::type operator < (const T &str1, const U &str2)
{ }
int main()
{
yyy::less<xxx::string_t> cmp;
std::less<xxx::string_t> cmp1;
xxx::string_t a;
xxx::string_t b;
cmp(a, b);
cmp1(a, b);
}
Řešení dotazu:
namespace yyy {
class x;
inline bool operator < (x const &a, x const &b) { }
}
a dela me to stejnou chybu i s yyy::less. Takze zrejme ten muj "operator <" neni pristupny v zadnym namespace kde uz existuje jiny "operator <".
Nejak to nechapu... chapal bych kdyby to muj operator prekrylo vzdycky, ale proc to dela jenom kdyz je string_t a string_traits v xxx ??
operator < presunu do xxx tak to funguje.
Problem je (see http://en.wikipedia.org/wiki/Argument_dependent_name_lookup), ze napr pri pouziti yyy::less, gcc nejdriv najde yyy::operator<, potom prohleda namespacy asociovany s argumentama a najde xxx::operator<, a root namespace uz neprohledava...
Tak nevim. Je tohle vlastnost nebo chyba ? A je teda mozny udelat operator <, ktery by fungoval na vsechny string tridy co maji string_traits, at uz jsou v jakymkoli jmennym prostoru ?
Co by "univerzalni" operator< mel delat? To je problem kazde implementace stringu, aby mela i svoji definici porovnani, ktera bude ve stejnem namespacu, takze vsechno bude fungovat, jak ma.
Tiskni
Sdílej: