Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
Specialisté společnosti ESET zaznamenali útočnou kampaň, která cílí na uživatele a uživatelky v Česku a na Slovensku. Útočníci po telefonu zmanipulují oběť ke stažení falešné aplikace údajně od České národní banky (ČNB) nebo Národní banky Slovenska (NBS), přiložení platební karty k telefonu a zadání PINu. Malware poté v reálném čase přenese data z karty útočníkovi, který je bezkontaktně zneužije u bankomatu nebo na platebním terminálu.
V Ubuntu 25.10 byl balíček základních nástrojů gnu-coreutils nahrazen balíčkem rust-coreutils se základními nástroji přepsanými do Rustu. Ukázalo se, že nový "date" znefunkčnil automatickou aktualizaci. Pro obnovu je nutno balíček rust-coreutils manuálně aktualizovat.
VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.
V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.
g++ pošle do nekonečné rekurze.
template<class T> struct S { S<T*> operator ->(); };
S<int> i, j = i->();
Říkal jsem si: blbost, C++ přece není TAK pitomý jazyk, vždyť pro rekurzi v templates má ISO standartem předepsané nějaké limity právě aby se vyhnuli možnosti zacyklení při překladu.  Kdepak, zkusil jsem a fakt si na tom g++ (aspoň to z gcc 4.1.1) vyláme zuby: sebere 100% CPU, a pomalu požírá swap...  C++ překladač sice (úmyslně) není Turing-complete, to mu ale v zacyklení zjevně nijak nepřekáží  .  Jo a programátorská varice na "až budou padat trakaře" na poslední stránce taky pobavila.
.  Jo a programátorská varice na "až budou padat trakaře" na poslední stránce taky pobavila.
A co vy?  Programujete v C++?  Dobrovolně?  A jak se daří vašemu mozkovému nádoru?  
    
    
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
- 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
 31.8.2007 15:37
mkoubik             | skóre: 5
             | blog: lorem_ipsum
             | Praha 8 - Bohnice
        31.8.2007 15:37
mkoubik             | skóre: 5
             | blog: lorem_ipsum
             | Praha 8 - Bohnice
        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++ je oproti D naprostý humus.
             30.8.2007 21:03
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        30.8.2007 21:03
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
         1.9.2007 18:05
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        1.9.2007 18:05
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        C++ překladač sice (úmyslně) není Turing-complete.A Zeme je placata. Neumyslne.
 30.8.2007 22:08
Václav "Darm" Novák             | skóre: 26
             | blog: Darmovy_kecy
             | Bechyně / Praha
        30.8.2007 22:08
Václav "Darm" Novák             | skóre: 26
             | blog: Darmovy_kecy
             | Bechyně / Praha
        ?
- 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.
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í.
             31.8.2007 20:27
elviin             | skóre: 29
             | blog: elviin
             | Plzeň-Praha
        31.8.2007 20:27
elviin             | skóre: 29
             | blog: elviin
             | Plzeň-Praha
         31.8.2007 02:00
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        31.8.2007 02:00
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
         31.8.2007 13:14
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        31.8.2007 13:14
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        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.
             31.8.2007 16:52
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        31.8.2007 16:52
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
         31.8.2007 16:50
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        31.8.2007 16:50
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        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...
             31.8.2007 17:42
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        31.8.2007 17:42
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        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.
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… :-)
 31.8.2007 20:37
elviin             | skóre: 29
             | blog: elviin
             | Plzeň-Praha
        31.8.2007 20:37
elviin             | skóre: 29
             | blog: elviin
             | Plzeň-Praha
         31.8.2007 11:12
elviin             | skóre: 29
             | blog: elviin
             | Plzeň-Praha
        31.8.2007 11:12
elviin             | skóre: 29
             | blog: elviin
             | Plzeň-Praha
        boost::spirito.i. i pekný príklad zmysluplného overloadovania operátorov
