Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].
Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.
Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.
Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.
Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
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
.
A fakt se vám to nezpomaluje? Já jsem to zkoušel i na notebooku a tam mi to dělalo taky. Co máte za verzi gcc?
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. 
Hele, existuje klávesová zkratka na styl stránky: základní styl/bez stylu ve FF? Hraju si takovou jednu online hru a jedno menu mi pod FF na Linu funguje jen bez stylu
Operu si kvůli tomu pouštět nechci, na většinu věcí co mi běží souběžně je lepší FF (Opera má zas jiný výhody), na widlích v práci je to O.K.
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.

Jééé, koukám, že sis přidal! Měls tam míň!
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. 
.