Eben Upton oznámil další zdražení počítačů Raspberry Pi: 2GB verze o 10 dolarů, 4GB verze o 15 dolarů, 8GB verze o 30 dolarů a 16GB verze o 60 dolarů. Kvůli růstu cen pamětí. Po dvou měsících od předchozího zdražení.
Shellbeats je terminálový hudební přehrávač pro Linux a macOS, který umožňuje vyhledávat a streamovat hudbu z YouTube, stahovat odtud skladby a spravovat lokální playlisty. Pro stahování dat z YouTube využívá yt-dlp, pro práci s audiostreamy mpv. Je napsán v jazyce C a distribuován pod licencí GPL-3.0, rezpozitář projektu je na GitHubu.
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.
ORDER BY RAND() LIMIT 1jak je na tom takový dotaz s výkonností? Tuším správně, že je to pro výkonnost špatné?
.
EXPLAIN SELECT * FROM test ORDER BY RANDOM() LIMIT 1;
QUERY PLAN
-------------------------------------------------------------------------------------
Limit (cost=19755.35..19755.36 rows=1 width=1162)
-> Sort (cost=19755.35..20165.12 rows=163906 width=1162)
Sort Key: (random())
-> Seq Scan on test (cost=0.00..18935.83 rows=163906 width=1162)
(4 rows)
EXPLAIN SELECT * FROM test LIMIT 1 OFFSET RANDOM()*(SELECT COUNT(*) FROM test);
QUERY PLAN
------------------------------------------------------------------------------------
Limit (cost=20788.49..20788.60 rows=1 width=1162)
InitPlan 1 (returns $0)
-> Aggregate (cost=18935.83..18935.84 rows=1 width=0)
-> Seq Scan on test (cost=0.00..18526.06 rows=163906 width=0)
-> Seq Scan on test (cost=0.00..18526.06 rows=163906 width=1162)
(5 rows)
Cost prvej možnosti je nižší než druhej.
'COUNT(*)' a nad jak velkými daty se to dělá.COUNT(*).InnoDB: 0.21sec (získání COUNT(*) z toho 0.16 sec) vs. 0.29sec MyISAM: 0.08sec (získání COUNT(*) z toho 0.05 sec) vs. 0.18sec
SELECT MAX(id) FROM Tabulka INTO max
WHILE true:
SELECT * FROM TABULKA WHERE id >= RANDOM() * max INTO rec
SELECT COALESCE(MAX(id),0) FROM TABULKA WHERE id < rec.id INTO prev_id
if RANDOM()<1.0/(rec.id - prev_id):
return rec
Myšlenka je doufám jasná: využiju ID, random udělam na díru, a díry ošětřím tak, že záznam "za dírou"
vrátím jen v patřičném podílu případů, v opačném selektuju znovu.
Nevýhoda je nedeterministický čas.
Tiskni
Sdílej: