O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a
… více »
2010-06-01 00:00:26 1.9138
2010-06-01 00:02:07 1.9145
2010-06-01 00:03:49 1.9150
2010-06-01 00:05:30 1.9141
2010-06-01 00:07:12 1.9123
2010-06-01 00:08:53 1.9154
2010-06-01 00:10:34 1.9132
2010-06-01 01:12:16 1.9118
2010-06-01 01:13:57 1.9119
2010-06-01 01:15:38 1.9123
Řešení dotazu:
select avg( hodnota ) from sometable group by floor(unix_timestamp( datum ) / 1800)
SELECT FLOOR(UNIX_TIMESTAMP(datum)/(60*30)) AS cas,
FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(datum)/(60*30))*(60*30)) AS cas_date,
AVG(cislo) AS avg_cislo
FROM test1 GROUP BY cas;
nad tabulkou:
CREATE TABLE `test1`( `datum` datetime NOT NULL , `cislo` double, PRIMARY KEY (`datum`) );s daty:
INSERT INTO test1 (datum, cislo) VALUES
('2010-06-01 00:00:26', 1.9138),
('2010-06-01 00:02:07', 1.9145),
('2010-06-01 00:03:49', 1.9150),
('2010-06-01 00:05:30', 1.9141),
('2010-06-01 00:07:12', 1.9123),
('2010-06-01 00:08:53', 1.9154),
('2010-06-01 00:10:34', 1.9132),
('2010-06-01 01:12:16', 1.9118),
('2010-06-01 01:13:57', 1.9119),
('2010-06-01 01:15:38', 1.9123);
je výsledek:
+--------+---------------------+-----------------+ | cas | cas_date | avg_cislo | +--------+---------------------+-----------------+ | 708524 | 2010-06-01 00:00:00 | 1.9140428571429 | | 708526 | 2010-06-01 01:00:00 | 1.912 | +--------+---------------------+-----------------+Ale pokud bych to chtěl tak nějak čistější:
SELECT DATE(datum) AS jen_datum, TIME(datum) AS jen_cas,
FLOOR(TIME_TO_SEC(TIME(datum)) / (60*30)) AS filtr,
AVG(cislo) AS avg_cislo
FROM test1 GROUP BY jen_datum, filtr;
A tady je to pro hezký výpis:
SELECT jen_datum, CONCAT_WS('-',TIME_FORMAT(SEC_TO_TIME(filtr*(60*30)),'%H:%i'),TIME_FORMAT(SEC_TO_TIME((filtr+1)*(60*30)),'%H:%i')) AS usek, ROUND(avg_cislo,4) AS rndavg_cislo
FROM (SELECT DATE(datum) AS jen_datum, TIME(datum) AS jen_cas,
FLOOR(TIME_TO_SEC(TIME(datum)) / (60*30)) AS filtr,
AVG(cislo) AS avg_cislo
FROM test1 GROUP BY jen_datum, filtr) AS t1;
z výsledkem:
+------------+-------------+--------------+ | jen_datum | usek | rndavg_cislo | +------------+-------------+--------------+ | 2010-06-01 | 00:00-00:30 | 1.9140 | | 2010-06-01 | 01:00-01:30 | 1.9120 | +------------+-------------+--------------+
Tiskni
Sdílej: