Kryptografická knihovna OpenSSL byla vydána v nové verzi 4.0. Přehled změn v souboru CHANGES.md na GitHubu. Odstraněna byla podpora SSLv2 Client Hello a SSLv3. Ve výchozím nastavení byla zakázána podpora odmítnutých eliptických křivek v TLS dle RFC 8422. Přibyla například podpora Encrypted Client Hello (ECH, RFC 9849).
curl up 2026, tj. setkání vývojářů a uživatelů curlu, proběhne opět v Praze. O víkendu 23. a 24. května v Pracovně.
Aplikace pro ověřování věku uživatelů on-line platforem je technicky hotová a brzy bude k dispozici pro občany EU, oznámila dnes předsedkyně Evropské komise Ursula von der Leyenová. Půjde podle ní o bezplatné a snadno použitelné řešení, které pomůže chránit děti před škodlivým a nelegálním obsahem. Aplikace bude podle ní fungovat na jakémkoli zařízení a bude zcela anonymní.
V prosinci 2012 byla z linuxového jádra odstraněna podpora procesorů 386. Včera započalo odstraňování podpory procesorů 486.
IuRe (Iuridicum Remedium) vyhlásila Ceny Velkého bratra za rok 2025. Slídily roku jsou automobilka Volkswagen, Meta a česká Ministerstva vnitra a průmyslu a obchodu. Autorem Výroku Velkého bratra je dánský ministr spravedlnosti zpochybňující právo na šifrovanou komunikaci. Naopak Pozitivní cenu získali studenti Masarykovy univerzity za odpor proti nucení do používaní aplikace ISIC.
Po osmi měsících vývoje byla vydána nová verze 0.16.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 244 vývojářů. Přehled novinek v poznámkách k vydání.
Nejnovější X.Org X server 21.1.22 a Xwayland 24.1.10 řeší 5 bezpečnostních chyb: CVE-2026-33999, CVE-2026-34000, CVE-2026-34001, CVE-2026-34002 a CVE-2026-34003.
Po roce vývoje od vydání verze 1.28.0 byla vydána nová stabilní verze 1.30.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.30.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2026-04-13. Přehled novinek poznámkách k vydání. Nově ve výchozím nastavení příkaz sudo vyžaduje heslo.
Společnost Blackmagic Design oznámila vydání verze 21 svého proprietárního softwaru pro editování videí a korekci barev DaVinci Resolve běžícího také na Linuxu. Z novinek je nutno vypíchnout možnost editování fotografií. Základní verze DaVinci Resolve je k dispozici zdarma. Plnou verzi DaVinci Resolve Studio lze koupit za 295 dolarů.
Nemaje klasického informatického vzdělání byl jsem toho ve škole ušetřen. O čem mluvím? Všechny ty algoritmy pro třídění a tak. No a pak to člověk potřebuje a neví. Když už to zjistí, tak si to chce vytesat do kamene. Ehm do webu. Tak taky rozšířím zbytečně duplicitní stránky, na kterých je taková, nebo onaká implementace quicksortu. Až to zas někdy budu potřebovat a jestli bude abíčko ještě existovat, tak to třeba tady najdu.
#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
#define timedif(start, stop) \
(u_int)((stop)->tv_sec - (start)->tv_sec - ((stop)->tv_usec < (start)->tv_usec))
#define utimedif(start, stop) \
(u_int)((stop)->tv_usec - (start)->tv_usec + 1000000*((stop)->tv_usec < (start)->tv_usec))
#define N (10000000)
#ifndef __u_char_defined
typedef __u_int u_int;
#endif
u_int numbers[N];
#define swap(i,j) \
{ register u_int pom=*i; *i=*j; *j=pom; }
void quicksort(u_int *start, u_int *end)
{
u_int *i, *low=start; /* low is place for pivot */
for(i=start; i<end; i++)
{
if(*i<*end) /* end element is pivot */
{
swap(i, low);
low++;
};
};
swap(low, end); /* place pivot to his place */
if(start<low-1)
quicksort(start, low-1);
if(low+1<end)
quicksort(low+1, end);
}
int main(void)
{
u_int rand_seed;
#ifdef __USE_BSD
struct timezone foo_;
struct timezone *foo=&foo_;
#else
void *foo=NULL;
#endif
struct timeval start, stop;
gettimeofday(&start, foo);
rand_seed = start.tv_usec;
srand(rand_seed);
{ /* init numbers */
u_int i;
for(i=0; i<N; i++)
numbers[i]=rand();
}
/* start measure */
gettimeofday(&start, foo);
quicksort(numbers, numbers+N-1);
/* measure time */
gettimeofday(&stop, foo);
printf("#Sorting %d numbers consumed %d.%06dsec\n",
N, timedif(&start, &stop), utimedif(&start, &stop));
{ /* test result */
u_int i;
char OK=1;
for(i=0; i<N-1 && (OK &= numbers[i]<= numbers[i+1]); i++);
printf(OK?"All OK.\n":"Something bad.\n");
return !OK;
}
}
P.S.: Tato implementace není vhodná pro částečně setříděné pole. Patch pro částečně setříděná pole:
@@ -20,6 +20,7 @@
void quicksort(u_int *start, u_int *end)
{
u_int *i, *low=start; /* low is place for pivot */
+ swap(start+(end-start)/2, end);
for(i=start; i<end; i++)
{
if(*i<*end) /* end element is pivot */
Tiskni
Sdílej:
viz http://en.wikipedia.org/wiki/Bogosort
for(i=start; i<end; i++)
{
if(*i<*end) /* end element is pivot */
{
swap(i, low);
low++;
};
};
Ta část jednoznačně provádí třídění na prvky menší než *end a na prvky nemenší. To je třídění jak vyšité. Je to třídící algoritmus na řazení rpvků.
start+(end-start)/2 lze napsat takto: (start+end)/2