ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
Na iVysílání lze zhlédnout všechny díly kultovního sci-fi seriálu Červený trpaslík.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.
Společnost Apple slaví padesáté narozeniny. Založena byla 1. dubna 1976.
Protože ne každý má textový režim nastavený na více jak 80 znaků šířky, na stavový řádek Vimu se toho moc nevejde. Existuje ale možnost přepínat mezi různými stavovými řádky. Jak se to dělá vám rád ukáži (poněkud vylepšená verze je nyní k prostudování také zde, chcete-li vidět, co reálně používám já, tak se podívejte sem).
Do svého ~/.vimrc dejte následující kód a pak klávesou F3 můžete v normálním módu Vimu přepínat mezi různými stavovými řádky. Uvedený kód je jen příklad!
Nejprve uvedu pro pořádek několikero funkcí, které jsou v příkladu použity.
"Par funkci, ktere jsou pouzity v prikladech
"Spocita procenta
fu! Percent()
let byte = line2byte( line( "." ) ) + col( "." ) - 1
let size = (line2byte( line( "$" ) + 1 ) - 1)
return (byte * 100) / size
endf
"Vrati hodnotu kodovani souboru anebo textik
fu! FileEncoding()
if &fileencoding == ''
return "is not set"
else
return &fenc
endif
endf
" Vrati hodnotu globalniho kodovani anebo textik
fu! GlobalEncoding()
if &fileencoding == ''
return "is not set"
else
return &enc
endif
endf
A nyní již samotný příklad na implementaci přepínání více druhů stavového řádků v editoru Vim. Podotýkám, že uvedený příklad lze snadno přetransformovat i na použití s rulerem Vimu.
"A samotna implementace prepinani stavoveho radku
"Nadefinujeme si jednotlive statusline
let g:StatusLines{0}='[%03bD | %5(0x%02BH%)] [%8oC=%3{Percent()}%%] [%8c] : [%8l/%8L = %3p%%]'
let g:StatusLines{1}='[GENC %10(%{GlobalEncoding()}%)] [FENC %10(%{FileEncoding()}%)]'
let g:StatusLines{2}='[%n] %F'
let g:StatusLinesCurrent=-1
"Namapujeme si klavesu
map <F3> :call ToggleStatusLine()
"Funkce, ktera prepina jednolive statusline
fu! ToggleStatusLine()
let g:StatusLinesCurrent=g:StatusLinesCurrent+1
if (!exists("g:StatusLines" . g:StatusLinesCurrent))
let g:StatusLinesCurrent=0
endif
let &statusline=g:StatusLines{g:StatusLinesCurrent}
endf
"Nakonec jeste zapneme prvni variantu
call ToggleStatusLine()
Velice jednoduché... Tak co? Není to přesně to, po čem ste už dlouho toužili??
Tiskni
Sdílej: