Byla vydána nová verze 26.1.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. S podporou hardwarového dekódování videa. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl po deseti měsících od vydání verze 1.3 vydán ve verzi 2.0.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.
Guido van Rossum, tvůrce programovacího jazyka Python, oslavil 70. narozeniny. Narodil se 31. ledna 1956 v nizozemském Haarlemu.
OpenClaw je open-source AI asistent pro vykonávaní různých úkolů, ovládaný uživatelem prostřednictvím běžných chatovacích aplikací jako jsou například WhatsApp, Telegram nebo Discord. Asistent podporuje jak různé cloudové modely, tak i lokální, nicméně doporučován je pouze proprietární model Claude Opus 4.5 od firmy Anthropic v placené variantě. GitHubová stránka projektu OpenClaw.
Projekt VideoLAN a multimediální přehrávač VLC (Wikipedie) dnes slaví 25 let. Vlastní, tenkrát ještě studentský projekt, začal již v roce 1996 na vysoké škole École Centrale Paris. V první únorový den roku 2001 ale škola oficiálně povolila přelicencování zdrojových kódů na GPL a tím pádem umožnila používání VLC mimo akademickou půdu.
Moltbook je sociální síť podobná Redditu, ovšem pouze pro agenty umělé inteligence - lidé se mohou účastnit pouze jako pozorovatelé. Agenti tam například rozebírají podivné chování lidí, hledají chyby své vlastní sociální sítě, případně spolu filozofují o existenciálních otázkách 🤖.
scx_horoscope je „vědecky pochybný, kosmicky vtipný“ plně funkční plánovač CPU založený na sched_ext. Počítá s polohami Slunce a planet, fázemi měsíce a znameními zvěrokruhu. Upozornil na něj PC Gamer.
O víkendu probíhá v Bruselu konference FOSDEM 2026 (Free and Open source Software Developers’ European Meeting). Program konference je velice nabitý: 37 místností, 71 tracků, 1184 přednášejících, 1069 přednášek, prezentací a workshopů. Sledovat je lze i online. K dispozici budou jejich videozáznamy. Aktuální dění lze sledovat na sociálních sítích.
Společnost Nex Computer stojící za "notebooky bez procesorů a pamětí" NexDock představila telefon NexPhone, který může funguje jako desktop PC, stačí k němu připojit monitor, klávesnici a myš nebo NexDock. Telefon by měl být k dispozici ve třetím čtvrtletí letošního roku. Jeho cena by měla být 549 dolarů. Předobjednat jej lze s vratní zálohou 199 dolarů. V dual-bootu by měl být předinstalovaný Android s Linuxem (Debian) jako aplikací a Windows 11.
Byla vydána nová major verze 9.0 softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora AI.
Případ STAVDO CREATE_UZIVATEL CASPREPNUTI První SCHV TUMJAN 2018-03-26T14:01:37.000+02:00 První SCHV TUMJAN 2018-05-07T12:40:58.000+02:00 První SCHV TUMJAN 2018-05-30T12:47:06.000+02:00 První SCHVAL TUMJAN 2018-06-04T10:03:03.000+02:00 První SCHVAL KULSVA 2018-08-10T15:29:15.000+02:00 Druhý SCHVAL TUMJAN 2018-08-09T12:18:51.000+02:00 Druhý SCHV TUMJAN 2018-10-19T13:02:11.000+02:00 Druhý SCHV KULSVA 2018-11-23T14:09:05.000+01:00 Druhý SCHVAL KULSVA 2018-11-26T13:27:18.000+01:00bych chtěl vybrat za každý Případ vybrat takové řádky, které mají minimální datum STAVDO. Na hodnotě atributů STAVDO a CREATE_UZIVATEL mi nezáleží. Očekávám tedy výstup:
Případ STAVDO CREATE_UZIVATEL CASPREPNUTI První SCHV TUMJAN 2018-03-26T14:01:37.000+02:00 Druhý SCHVAL TUMJAN 2018-08-09T12:18:51.000+02:00Pokud použiju minimum na datum, nemohu použít
group by na STAVDO a CREATE_UZIVATEL. Jak z toho ven?
Díky moc za pomoc,
Pavel Novák
Řešení dotazu:
Pomocí window funkcí takto:
#!/bin/bash
data="Případ STAVDO CREATE_UZIVATEL CASPREPNUTI
První SCHV TUMJAN 2018-03-26T14:01:37.000+02:00
První SCHV TUMJAN 2018-05-07T12:40:58.000+02:00
První SCHV TUMJAN 2018-05-30T12:47:06.000+02:00
První SCHVAL TUMJAN 2018-06-04T10:03:03.000+02:00
První SCHVAL KULSVA 2018-08-10T15:29:15.000+02:00
Druhý SCHVAL TUMJAN 2018-08-09T12:18:51.000+02:00
Druhý SCHV TUMJAN 2018-10-19T13:02:11.000+02:00
Druhý SCHV KULSVA 2018-11-23T14:09:05.000+01:00
Druhý SCHVAL KULSVA 2018-11-26T13:27:18.000+01:00";
dotaz="SELECT případ, stavDo, create_uzivatel, casPrepnuti FROM (
SELECT *, rank() OVER(PARTITION BY případ ORDER BY casPrepnuti) AS rank FROM csv
) WHERE rank = 1 ORDER BY případ DESC";
echo "$data" \
| sed -E 's/\t+/,/g' \
| relpipe-in-csv \
| relpipe-tr-sql --relation "první_ve_skupině" "$dotaz" \
| relpipe-out-tabular
první_ve_skupině: ╭─────────────────┬─────────────────┬──────────────────────────┬───────────────────────────────╮ │ Případ (string) │ STAVDO (string) │ CREATE_UZIVATEL (string) │ CASPREPNUTI (string) │ ├─────────────────┼─────────────────┼──────────────────────────┼───────────────────────────────┤ │ První │ SCHV │ TUMJAN │ 2018-03-26T14:01:37.000+02:00 │ │ Druhý │ SCHVAL │ TUMJAN │ 2018-08-09T12:18:51.000+02:00 │ ╰─────────────────┴─────────────────┴──────────────────────────┴───────────────────────────────╯ Record count: 2
DBMS je musí podporovat (např. v SQLite je to až od 3.25.0).
Případně v PostgreSQL to jde jednodušeji pomocí DISTINCT ON.
CASPREPNUTI. V druhém SELECTu vezmete tyhle dvojice (Případ + CASPREPNUTI) a ke každé z nich si donačtete zbývající údaje z řádku. A samozřejmě ty dva SELECTy nebudete provádět za sebou, ale spojíte je do jednoho, např. pomocí JOINu.
SELECT * FROM table t JOIN (SELECT Případ, MIN(CASPREPNUTI) AS CASPREPNUTIFROM table GROUP BY Případ) g ON (t.Případ = g.Případ AND t.CASPREPNUTI= g.CASPREPNUTI)
Tiskni
Sdílej: