FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.
Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.
Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.
Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.
Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.
V lednu byla ve veřejné betě obnovena sociální síť Digg (Wikipedie). Dnes bylo oznámeno její ukončení (Hard Reset). Společnost Digg propouští velkou část týmu a přiznává, že se nepodařilo najít správné místo na trhu. Důvody jsou masivní problém s boty a silná konkurence. Společnost Digg nekončí, malý tým pokračuje v práci na zcela novém přístupu. Cílem je vybudovat platformu, kde lze důvěřovat obsahu i lidem za ním. Od dubna se do Diggu na plný úvazek vrací Kevin Rose, zakladatel Diggu z roku 2004.
MALUS je kontroverzní proprietarní nástroj, který svým zákazníkům umožňuje nechat AI, která dle tvrzení provozovatelů nikdy neviděla původní zdrojový kód, analyzovat dokumentaci, API a veřejná rozhraní jakéhokoliv open-source projektu a následně úplně od píky vygenerovat funkčně ekvivalentní software, ovšem pod libovolnou licencí.
Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.
Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).
- Exceptions in constructor don’t unwind the constructor itself
- Does not even clean up local variables!
- Must do own cleanup
- OTOH: no other way to return failure, constructors are void
Od pitomostí typu, že napíšu prasácký kód, který se nedá číst (což jde v jakémkoli jazyce)To neni pravda, v brainfucku to nejde.
Neobjektovost jako výhoda? Chápu, že ne každý ocení výhodu objektového programování, ale jak může být možnost používat objekty nevýhodou?
{
SomeStructure a;
SomeStructureInit(&a);
SomeStructureDoSomething(&a);
SomeStructureDestroy(&a);
}
C++ varianta:
{
SomeStructure a;
a.doSomething();
}
C++ varianta pro lepsi kontrolu:
{
SomeStructure a;
a.init();
a.doSomething();
a.destroy();
}
Vygenerovany kod prekladacem bude totozny. Obe C++ varianty jsou jednoznacne prehlednejsi, z kodu mizi zbytecne prefixovani funkci, ktere dela kod spis necitelnym.

)
/usr/include/python2.4/object.h je krásně čitelný. Sdílené atributy objektů vytvářené pomocí #define PyObject_HEAD, polymorfismus přes ukazatel na struct _typeobject. Všechny výhody C++ lze mít C také, a to bez problémů které C++ přináší, ergo C++ žádné výhody nemá. Vy opravdu expanzi makra uvnitř struct-u považujete za orgie? Vaše manželka se pravděpodobně dosti nudí.
1) Proč se domníváte že řádek kódu, který obsahuje VÍCE informací, je méně čitelný?Protože neobsahuje VÍCE informací
To prefixování v C++ nemizí, v globálních symbolech zůstává, pouze se podobně jako komunista v epicentru jaderného výbuchu proměňuje na paprsky gamma a škodí dálPokud Vám to tak vadí, tak ty metody můžou být inline a odkazovat na extern "C" funkce (třeba pro volání z asm kódu). Reaguji pozdě,,,já vím:)
není objektové
Což je právě ta vada 
Jinak s C++ teď začínám. Na jednu stranu je to zajímavé, ale na druhou stranu psát v Javě je mnohem příjemnější.
C++ je oproti D naprostý humus.
C++ překladač sice (úmyslně) není Turing-complete.A Zeme je placata. Neumyslne.
?
- C preprocessor umi smycky (cykly).
$ cat factorial.h #if (N <= 1) 1 #else N * #define N2 (N-1) #undef N #define N N2 #include "factorial.h" #endifCPP má lazy expanzi maker, takže na 6. řádku se do N2 uloží vždy stejný výraz, N se neexpanduje. Možná je na to nějaký hack, jak si expanzi v #define řádku vynutit, ale neznám ho.
// tohle je obechcavka, nevim presne na co #define CAT(a, b) a##b #define COND_0 a #define COND_1 b #define COND CAT(COND_, RIDICI) //pouziti: #define RIDICI 0 COND // melo by byt a #define RIDICI 1 COND // ted zas bMyslim, ze cykly by sly nejak podobne, ale uz tohle ukazuje jak se da v preprocesoru programovat. Pokud by vas to vic zajimalo, doporucuju zdrojaky z Boost preprocessor library, je to pekny poctenicko
VAROVANI: Tohle, kdyz jsem to programoval, me zpusobilo boleni hlavy jeste dalsi den.
error: #include nested too deeply. U gcc je limit natvrdo po 200 zanořeních (právě vyzkoušeno).
3) Nojo, v tomhle máte pravdu. Jenže Pentium může adresovat paměti (externí) kolik chce, kdežto C++ zdroják může templaty nořit jen jak mu překladač dovolí.
ja problem vidim tam, ze po operaci prirazeni nemate zarucene, co je v obou objektech, aniz byste vedel co je v trideCo? Jak nemám zaručené?
operatory bitoveho posunu jsou naraz operatory vstupu a vystupNejsou. To, že to tak nějaká konkrétní třída dělá, to je jiná věc. A navíc mi neříkejte, že vás to opravdu mate - tohle je věc jasná na první pohled.
neco << 5;Kdo by dělal něco takového, když by šlo o bitový posun? Tam by přece vždycky bylo přiřazení nebo
<<=.
a = b vite, co bude v obou objektech... aniz byste vedel jak je operator deklarovany ve tride. btw. ona je jeste sranda, ze v nekterem pripade (ted presne si nevzpominam kterem) se pouzije kopirovaci konstruktor... ale kdyz se vam takovy jazyk libi... dobre vam tak...
operatory bitoveho posunu jsou naraz operatory vstupu a vystup. Nejsou. To, že to tak nějaká konkrétní třída dělá, to je jiná věc. tak jsou nebo nejsou? s takovou tu budeme cyklit jeste dlouho. btw. dokaze me nekdo vysvetlit, proc se nepouzivaji normalni metody, jako v jinych jazycih?
assign(a, b);, a.assign(b);, a = b.clone();, nebo a = clone b; to jasne je?
const. A na všetko ostatné tu zas isté múdre hlavy vymysleli dokumentáciu.
nerikejte ze po provedeni a = b vite, co bude v obou objektech... aniz byste vedel jak je operator deklarovany ve tride.Co je to za blbou úvahu - tak snad mám rozum a vím, co dělám. Hodnota objektu b by neměla být ovlivněna a podle nějaké logiky se dá vydedukovat, že bude hodnota z b okopírována do a. To už se vás můžu ptát, jestli víte, co udělá tohle:
a.write(b)A jakou záruku, že to udělá skutečně to, co chcete, máte bez prozkoumání zdrojáku té metody?
tak jsou nebo nejsou? s takovou tu budeme cyklit jeste dlouho. btw. dokaze me nekdo vysvetlit, proc se nepouzivaji normalni metody, jako v jinych jazycih?Smím se zeptat, jak dobře C++ znáte? Jestli vám osobně vadí <<, tak klidně použijte nějaký .write(). Snad každý operátor se dá přetížit k jakémukoliv účelu. Zda << na číslech funguje jako bitový posun je naprosto irelevantní - hlavně že není problém chápat, co to udělá u té konkrétní třídy.
Přesně tak. To už bychom za chvíli mohli tvrdit, že je C++ špatně navržený jazyk, protože nám dovolí napsat
inline void add_one(int& x)
{
x--;
}
Jen je pak otázka, který jazyk je pak navržený dobře…
add_one(x) ->
x - 1.
badarith). Vy jste ho nezkompiloval a nevyzkoušel. Co to na mě zkoušíte?
Ale zkousel jsem si to zkompilovat. Jenze se mi pri kopirovani do formulare nekde cestou ponizila X. Pardon.
Nicmene, pokud mi neco neuniklo, tak pointa tohoto vlakne je, ze nemuzete nabyt naproste jistoty co se ve skutecnosti bude dit pouze ze jmena operatoru, ale ani funkce nebo metody. A erlang tento problem neresi.
a = b;tak si nikdy nemůžu být jistý, že v
b je na konci to samé jako na začátku. Což je v principu stejný problém jako když napíšub = 1; a = add_one(b);a v b není jednička. To je pak radost takový kód číst. V erlangu můžu napsat
B = (foo, [bar, baz, (1,2,3)], foofoo), A = any_fuckin_function(B)a mám vždy jistotu, že v
B je stále (foo, [bar, baz, (1,2,3)], foofoo) aniž bych se do té funkce musel podívat.
const?
Reference je vlastne ukazatel a je logicke, ze muze funkce menit jeho obsah. I to const se da obejit a nekdy je to nutne, ale to uz neni chyba jazyka.
const je úplně v jiné části kódu, v úplně jiném souboru a kdo ví co ještě a jak sám píšete, dá se to obejít. Takže nejen, že se musím kouknout kdo ví kam, ale dokonce mi ani nestačí přečíst si definici funkce, ale dokonce musím analyzovat její kód, jestli to náhodou někdo neobchází. Fakt moc príma. No a krom toho s každou novou verzí, abych to dělal znova a znova, protože to prostě jde. Taková blbost. Koho to jen mohlo jen napadnout umožnit modifikovat parametry funkce, nebo obsah reference ...
int b = 1; int a = add_one ( (const int) b);v prípade, že neverím funkcii add_one ? (dtto s priradením) ?
to je to isté, ako viacnásobné dedenie. robí problémy, málokto ho používa, a kto tomu nerozumie, ten ma názor davu.
a čo takTo mám psát pokaždé znova a znova? To je fakt řešení, nemám si rovnou dát nohu za krk?int b = 1; int a = add_one ( (const int) b);v prípade, že neverím funkcii add_one ? (dtto s priradením) ?

samozrejme, že nie. V C++ by jeden použil šablóny, v C makrá.
#define add_one_wrapper(b) (add_one ( (const int) b))ale nevravíme každý o tom istom. Toto je riešenie situácie, keď človek neverí
add_one a ani nič o nej nevie. Normálni programátori ale podľa mňa to slovíčko const vkladajú do deklarácie funkcií/metód zo slušnosti hneď.
Uf. No jestli je pointou toto, tak nechapu proc do toho Deda Jablko na zacatku zamotal operator= a proc vy jste se chytil zrovna na referencich. Odstratenim zadneho z obou prvku sveho vysneneho cile nedosahnete.
Ale k podstatnejsi vec: pokud vam na c++ vadi tohle, tak jste tragickym zpusobem nepochopil za jakym ucelem byl navrzen, k cemu je urcen a jaka je jeho filozofie. Ze si s c++ muzete ustrelite nohu raz dva, to vam nikdo nevyvraci, zalezi jen na vas, jestli napr. vsechny parametry vsech funkci budete brat referenci, uvnitr je sestkrat "precastujete" a nahodne v nich invertujete nekolik bitu. Existuji lide, kteri jsou takovemu nutkani schopni odolat a v tomhle smeru nemaji s c++ zadny problem.
Podobnym stezovanim se pak radite k trotlum, kteri se navazeji do lispu kvuli zavorkam, makrum (jak neprehledne a matouci!) a funkcionalnimu programovani (== nema objekty!!!), nebo do erlangu, ze ma dementni syntaxi, nema normalni promenne, pouziva posilani zprav (proto zakonite musi byt 1000krat pomalejsi nez jakykoliv ne-zpravy posilajici, ne-vsechno kopirujici jazyk), ... urcite to znate. Vy jste stejny, akorat sedite o dva zakopy vedle.
... ne-vsechno kopirujici jazyk ...Netušíte jak to funguje.
Jak se v Lispu udělá obdoba DNU? Tedy vlastně úplné zapouzdření.
a.write(b) nema zadne defaultni chovani, proto cloveka nevydesi, kdyz to nekdo implementuje po svem...
c++ znam myslim si, ze dobre, abych vedel, ze je to jazyk, ktery nevi co chce... (stejne jako c# 3.0) ... proste se kolem C naskladala hromada featur bez ladu a skladu a hlubsi koncepce... c++ vam dava dostatecne dlouhe lano a delejte si s nim co chcete... klidne se na nem muzete obesit...
obrat a.write(b) nema zadne defaultni chovani, proto cloveka nevydesi, kdyz to nekdo implementuje po svem...Zdá se mi to, nebo vám doopravdy vadí, že vám jazyk umožňuje udělat něco po svém?
c++ vam dava dostatecne dlouhe lano a delejte si s nim co chcete... klidne se na nem muzete obesit...A to mi na něm přesně vyhovuje. Nepořebuju, aby mi autoři jazyka diktovali, jak mám něco dělat - to vím sám.
Ano, já taky nechápu, proč spousta lidí obhajuje to, že mi jazyk má diktovat jak mám něco dělat. A proč to má být tak úžasná výhoda. Jestli jim to tak vyhovuje, tak ať si takový jazyk najdou. Jsem rád a miluju doslova tu volnost, kterou mi C++ dává - a kdy si můžu vybrat efektivní cestu k řešení problému a pokud vím co dělám, C++ mi vždy vyjde vstříc. Kdo umí psát básně, má rád bohatý jazyk s velkými výrazovými prostředky. Kdo skončil u slabikáře a dál se nedostane, nechť si vybere chudý jazyk, který ho povede.
c++ vam dava dostatecne dlouhe lano a delejte si s nim co chcete... klidne se na nem muzete obesit...
Podle mých zkušeností jazyky, které vám nedají dost lana na oběšení, vám nedají dost lana ani na spoustu užitečných činností, takže mám raději ty, které mi ho dají dost na oboje a způsob použití nechají na mém uvážení. A to se netýká jen jazyků, ale třeba i operačních systémů. A to říkám jako člověk, který si před pár hodinami spílal do hlav skopových poté, co v příkazu 'init q' místo kvéčka ze zvyku napsal jedničku… :-)
boost::spirito.i. i pekný príklad zmysluplného overloadovania operátorov
Tiskni
Sdílej: