Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.
Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.
Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).
Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.
Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.
Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.
Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.
Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).
Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.
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: