Byla vydána nová verze 9.16 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Americká vláda se po převzetí zhruba desetiprocentního podílu ve výrobci čipů Intel chystá na další investice do vybraných firem. Na sociální síti Truth Social to napsal prezident Donald Trump. Jeho ekonomický poradce Kevin Hassett v rozhovoru v televizi CNBC řekl, že nemusí jít pouze o firmy z technologického sektoru, ale i z jiných odvětví.
V Amsterdamu probíhá Open Source Summit Europe. Organizace Linux Foundation představuje novinky. Pod svá křídla převzala open source dokumentovou databázi DocumentDB.
Přesně před 34 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.
86Box, tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 5.0. S integrovaným správcem VM. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.
Vláda Spojených států získala desetiprocentní podíl v americkém výrobci čipů Intel. Oznámili to podle agentur americký prezident Donald Trump a ministr obchodu Howard Lutnick. Společnost Intel uvedla, že výměnou za desetiprocentní podíl obdrží státní dotace v hodnotě 8,9 miliardy dolarů (zhruba 186 miliard Kč). Částka podle Intelu zahrnuje dříve přislíbené subvence 5,7 miliardy dolarů z programu CHIPS na podporu výroby čipů v USA,
… více »Organizace Apache Software Foundation (ASF) vydala verzi 27 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Knihovna FFmpeg byla vydána ve verzi 8.0 „Huffman“. Přibyla mj. podpora hardwarově akcelerovaného kódování s využitím API Vulcan, viz seznam změn.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2024 (pdf). V loňském roce NÚKIB evidoval dosud nejvíce kybernetických bezpečnostních incidentů s celkovým počtem 268. Oproti roku 2023 se však jedná pouze o drobný nárůst a závažnost dopadů evidovaných incidentů klesá již třetím rokem v řadě. V minulém roce NÚKIB evidoval pouze jeden velmi významný incident a významných incidentů bylo zaznamenáno 18, což oproti roku 2023 představuje pokles o více než polovinu.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované obrázky APNG a WebP.
Může mi někdo vysvětlit, proč se mi dějou takový hnusný věci? Mám funkci na renderování cache pro funkci:
struct _GfFunctionWidgetPrivate { ... void renderCache() { cairo_t *cr; double x, y; double x_end; double x_px; x = area.x; x_end = area.x + area.width; x_px = 0; // create cairo cr = cairo_create(cache); // set clip rectangle cairo_rectangle(cr, 0, 0, size.width, size.height); cairo_clip(cr); cairo_set_line_width(cr, 1); // set drawing color cairo_set_color(cr, functionColor); bool was_real = false; bool is_real; /*****/ GTimer *t = g_timer_new(); double e; size_t its = 0; double e_total = 0; /*****/ //while (x < x_end) while (x_px <= size.width) { // calculate value for current x x = (x_px * zoom.x) + area.x; xVar->setValue(x); /*****/ g_timer_reset(t); /*****/ y = function.evaluate(); /*****/ e = g_timer_elapsed(t, 0); e_total += e; printf("elapsed %f (%f), zoom %.50f\n", e, (double)its, zoom.x); ++its; /*****/ is_real = Core::Double::isReal(y); // if it is real number, draw the point if (is_real) { // TODO: find better way if (!was_real) { cairo_move_to(cr, x_px, size.height - (y-area.y)/zoom.y); } cairo_line_to(cr, x_px, size.height - (y-area.y)/zoom.y); } ++x_px; //x += zoom.x; was_real = is_real; } /*****/ printf("elapsed total %f\n", e_total); g_timer_destroy(t); /*****/ // stroke the path cairo_stroke(cr); // destroy cairo cairo_destroy(cr); } ... };
Ta je volána vždycky, když se "zoomuje". Vykreslovanou oblast určuje area{ x, y , width, height }
. Zvětšování probíhá tak, že uživatel myší označí oblast a ta se přiblíží (nastaví se area, updatuje zoom (zoom.x = area.width/size.width) a pak se to přerenderuje).
[x+width, y+height] |-----------------------------------------| | | | | | ______ f(x) | | / \ ____ | | _ / \ / \ | | / \_/ \___/ \ | | / \ | |-----------------------------------------| [x,y]
size{width, height}
je velikost widgetu v pixelech.
xVar je proměnná "X", jež je použita v parsované funkci z řetězce. function
je onen výsledek parsování.
evaluate()
je virtuální funkce vracící double, která funkci vyhodnotí pro to "X". Všechny funkce/proměnné/operátory dědí z Evaluable
a implementují právě tu metodu evaluate()
. Výsledkem parsování je stom. V té metodě evaluate()
nikde nealokuju žádnou paměť (sem tam v nějaké "funkci" se něco alokuje na stacku, ale to se hned uklidí), takže tam se paměť nemá šanci ztrácet. Ten strom nikde neměním a je pořád stejný, takže ať zoomuju jak chci, vždy se počítá stejně hodnot (stejně jako šířka widgetu) a vyhodnocuje se naprosto stejný strom.
A tam právě chodil ... to vyhodnocování stromu trvá čím dál déle jak zoomuju a vůbec mi nejde do hlavy proč. Schválně jsem tam hodil GTimer a to mi potvrdilo, že nezdržuje cairo, ale že trvá to evaluate()
víc a víc (při 500 volání evaluate() to dělá až 1,5s při 20 zoomování, což je strašně moc).
Už se mi pomalu chce nadávat na gcc, že nějak podělává virtuální funkce, ale věřím tomu, že je zase chyba v mojí blbosti Co mysíte? Jestli by se našel někdo ochotný pomoct, tak bych uploadnul celej zdroják s Makefile (vyžaduje to jenom gtk/cairo)
Tiskni
Sdílej:
elapsed 0,000002 (1016,000000), zoom 187,94911936114436912248493172228336334228515625000000 elapsed total 0,001775
Mě se taky nezpomaluje (gcc-4.4.0, 64-bit)
Aka duchaplna sebakritika v nadpise
Já si vždycky říkám, k čemu ty jeho prográmky jsou asi tak dobrý. Já bych se u toho unudil k smrti. Ikdyž, sám mám co říkat. Poslední dva dny jsem vymejšlel, jak implementovat rekurzi v SQL.
Musim využít toho, že se bavim s chytřejšíma
Tak mě z nich prosím hned vynech, jo?
Ve Firefoxu je volba View -> Page Style -> No Style. (Jak je to v jiném jazyce, to se ptej experta přes překlady Firefoxu.) Ale jestli tomu jde nadefinovat klávesová zkratka? To netuším. Jsem jenom obyčejnej blbeček z většiny místní verbeže.
Já blbeček jsem.
Jsem pro. Viděl bych to hned vedle toho skóre. Něco jako index PT. Akorát by to chtělo nějak vymyslet ten ranking, aby to číslo (když to bude číslo) bylo vypovídající a zároveň připravené i na budoucí tvrdší kalibr.
Ale možná by se tento enhancement mohl nabídnout již vzniklému Klubu debilů Petra Tomeše. Ten by měl větší šanci to prosadit.
Jo, jo. To zní dobře. Ale na můj vkus je to moc odborný a pro nás retardované dementy to znamená mít po ruce slovník.
Schválně: kdo je víc? Ten, co je polodementní idiot (nebo jak to bylo), nebo ten, který si užívá svou retardaci?
Hlavně nezapomeň, že každý tam bude mít aspoň jeden z většiny místní verbeže, což bude mít negativní dopady co do kilobajtů a uživatelé GPRS budou prskat. :-/
A nebo to udělat konfigurovatelný v profilu.
Pro začátek bych začal tím algoritmem pro ranking a použil patičky. Beztak tam má každej druhej rozměry přirození, tak by tam bylo aspoň něco užitečnýho.
A držíš si štíhlou linii, což je chválihodné.
Neříkej dvakrát! link
-fomit-frame-pointer
Rád bych, ale vůbec tomu tématu nerozumím.
Ubuntu 9.04 - 64bit ...
Tipoval bych, že se to v tom "likéru" rozpustí. A když to vypiješ, tak se v tom rozpustí i tvůj mozek a játra.