Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Po mailové komunikaci, kterou jsem právě absolvoval, začínám nabývat dojmu, že mám nějaký složitý a strašně nepřehledný web.
Publikum se tu vyskytuje dostatečně šikoré, tak tedy: Máte někdo problém najít na této stránce zdrojáky?
> > chcem sa spytat na program wammu. > > > > pouzivam slackware linux a mam problem si nainstalovat wammu > > gammu so si instaloval zo src...to mam > > potom som si vsimol ze mi treba python-gammu a tu je kamen > > urazu...neviem ako to urobit, ten balik je nanic, je len pre debiana > > a na ine distribuciach to uz proste nejde. > > No to se celkem dalo čekat, prostě distribuce se liší. > > > je mozne dat src balicky? alebo sa na to proste vykaslete ? > > Vždyť na webu jsou normálně zdrojové balíčky, v čem je problém? to je super ked su...no zatial sa mi nepodarilo ich najst. tak dik za info, idem hladat a prekompilovat to...
Tiskni
Sdílej:
python-gammu-0.8.tar.bz2, tak ne… Jsem zvědav, jak dlouho by ten člověk hledal zdrojáky na stránkách Mozilly…
Package the distribution of `Foo version 69.96' up in a gzipped tar
file with the name `foo-69.96.tar.gz'. It should unpack into a
subdirectory named `foo-69.96'.
(GNU coding standards)
.tar.bz2 se přitom dnes už víceméně bere za rovnoprávnou alternativu.
For the body of the function, our recommended style looks like this:
if (x < foo (y, z))
haha = bar[4] + 5;
else
{
while (z)
{
haha += foo (z, z);
z--;
}
return ++x + bar ();
}
Tak ty bych moc vážně nebral&hellip
remove-home a udělá rm -rf ~, dokonce to můžeš popsat v README, ale stejně tě lidi nebudou mít rádi...
if (x < foo (y, z)) {
haha = bar[4] + 5;
} else {
while (z) {
haha += foo (z, z);
z--;
}
return ++x + bar ();
}
Hned je to přehlednější a hezčí
Na druhou stranu musím uznat, že mají pěkně udělané detaily, jako mezeru mezi jménem funkce a závorkama s parametry a další drobnosti se kterými v zásadě souhlasím.
Jo, a odsazení je přes tabulátor, aby bylo jasno
. Čáry v tabulce? Mě to takhle připadá lepší než bez nich, ale nejsem grafik, no teď tam jsou CSS na obojí, tak to můžete posoudit.
. Ale kdybych to psal já, tak se ještě zbavím toho ++x v returnu, protože to si prostě říká o to v tom udělat chybu
.
return ++x + bar ();Je klasická ukázka, jak mezery před
( rozbíjejí kód, takže musíš hledat, co vlastně patří k čemu.
else chci pořádně vidět, takže na začátek řádku. Jinak by to šlo.
if (x < foo(y, z)) {
haha = bar[4] + 5;
}
else {
while (z) {
haha += foo(z, z);
z--;
}
return ++x + bar();
}
return ++x + (bar ());tedy s přehnaným závorkováním, ke kterému GNU styl mezerování bohužel vede, má-li se udržet srozumitelnost.
return bar () + (++x);Že to vypadá hnusně není tou závorkou ale zbytečným ++
Ale řekněme, že tohle je případ, kdy se dá závorka obětovat
Tak to ani náhodou.A tohle je lépe vidět? Nemyslím. Kdyby tam byl jediný řádek sreturn ++x + bar ();Je klasická ukázka, jak mezery před(rozbíjejí kód, takže musíš hledat, co vlastně patří k čemu.elsechci pořádně vidět, takže na začátek řádku. Jinak by to šlo.
} else {, tak to bude vyčnívat a nepůjde to přehlédnout (protože jak kód nad tím tak pod tím bude odsazený). Takhle se to utopí.
return ++x + bar(); se mi nelíbí ať už s mezerou nebo bez. ++ nebo -- bych tady vůbec nepoužil. Nicméně tohle je účelový příklad aby vynikly drobné nedostatky té mezery
Naopak na příkladu kde by v těch závorkách bylo dalších pět zanořených a navrch ještě nějaké přetypování by se to krásně ukázalo
return ++x + (int) bar (y) + * (int *) (b + 3) + (int) (bb * 3);a to už vůbec netuším, co je vlastně
bar zač, co se sčítá tím +, a kde se tam vzala ta hvězdička...
(int) bar (y) + ((int *)(b + 3) + (int)(bb * 3));
Nějak přehledněji? (mezi dvě závorky bych mezery asi nepsal, stejně jako třeba mezi [5] [4], [5][4] je IMHO lepší)
(int)bar(y) + ((int*)(b+3) + (int)(bb*3));nebo
(int)bar(y) + ((int*)(b + 3) + (int)(bb * 3));ale jinak pokud možno hlavně
(int*)(b + 3) + (int)(bb * 3) + (int)bar(y);protože psát pointerovou aritmetiku s pointerem zahrabaným kdesi vprostřed výrazu je cesta do pekel. Kromě toho je hned vidět, že se sčítají tři věci a jaké. Mezery se píší za kvůli přehlednosti, takže nemám problém s tím, že
2*3 + 1se napíše bez mezer kolem *, kdežto
foo->bar(x) * (int)x[3]s mezerou kolem *, pokud v jednom výrazu nedostanou operátory s vyšší prioritou mezery, když operátory s nižší mezery nemají.
. Ale mám obavy, že tomuhle člověku nepomůže vůbec nic.