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 »Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.
Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
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: