Skip to content

2026

Jak vypnout Intel RST na laptopu Acer Aspire 3

V rámci testování aplikace, na které nyní pracuji, jsem si rozhodl vytvořit domácí server ze starého laptopu Acer Aspire 3. Při instalaci Ubuntu serveru jsem nicméně narazil na problém, kdy mi instalátor ohlásil, že nejsou k dispozici žádné disky pro instalaci systému. Překvapilo mě to, protože předinstalované Windowsy běžely bez problémů.

Zkusil jsem tedy rozjet Live session Ubuntu desktopu s tím, že disky zkusím zformátovat a mohlo by to pomoct. Instalátor Ubuntu desktopu mi také nahlásil problém s disky, konkrétně s aktivní Intel RST (Rapid Storage Technology), která neumožňovala v instalaci pokračovat. RST bylo třeba vypnout.

Třebaže jsem zkusil věc vyřešit s pomocí Claude Sonnet 4.6 (prostřednictvím Open WebUI), nakonec mi to chvíli zabralo, včetně slepých uliček (viz shrnutí níže). Pointa byla vypnout RST v BIOSu. Přepínač je defaultně skrytý a pro zobrazení je nutné stisknout CTRL+s v příslušném menu v BIOSu.

AI Washing

Yes, fresh college graduates are having a hard time finding jobs. And yes, there have been layoffs that CEOs have attributed to AI, even if a large fraction of this was “AI washing,” where businesses choose to attribute layoffs to AI, even though AI has not changed their internal operations much yet. [...] many other factors, such as over-hiring during the pandemic and high interest rates, have contributed to the slowdown in the labor market, and the notion that AI is leading to unemployment is oversimplified.
-- Andrew Ng: The Batch - Issue 348

Zensical jako nástupce Material for MkDocs

Material for MkDocs je populární framework pro generování statických webových stránek, resp. dokumentace, postavený na MkDocs. Sám ho používám pro tvorbu tohoto webu a s ergonomií i výsledkem jsem velmi spokojen. Překvapilo mě proto zjištění, že tým okolo Material for MkDocs se rozhodl v dalším vývoji nepokračovat a vytvořit zcela nový nástroj nazvaný Zensical. Ze série jejich článků (viz předchozí odkaz) se však zdá, že se jedná o dlouhodobě plánované a odůvodněné rozhodnutí.

Narazili např. na technické limity knihovny pro vyhledávání na straně klienta Lunr.js, která je navíc dlouhodobě nepodporovaná. K tomu se jim nepodařilo najít dostatečně dobrou alternativu, takže se rozhodli postavit vlastní vyhledávací engine. Dále je zmíněno potenciálně pomalé sestavení dokumentace s MkDocs (klidně 8 i 20 minut) v případě rozsáhlých projektů (což se mě naštěstí netýká).

Daleko větším problémem je však situace okolo samotného projektu MkDocs jakožto klíčové závislosti: projekt se stal dlouhodobě neudržovaný, komunikace ohledně jeho správy byla poněkud nejasná a nová verze MkDocs 2 navíc nemá v plánu podporovat pluginy, které jsou pro fungování Material for MkDocs klíčové. Tým tento projekt proto vyhodnotil jako "supply chain risk".

Nakonec se rozhodli od MkDocs oprostit a vytvořit výše zmíněný Zensical. Ten je napsaný z většiny v Rustu, nicméně je dostupný na pypi.org a dá se nainstalovat třeba pomocí uv:

uv init
uv add --dev zensical
uv run zensical

Mimochodem, přepis funkcionality do Rustu následuje aktuální trend, který reprezentují projekty jako Ruff, již zmíněný uv nebo částečně Pydantic.

Těší mě, že by měla být (z většiny) zajištěna zpětná kompatibilita:

Compatibility with Material for MkDocs is our top priority. We understand that switching to a new static site generator can be challenging, especially for large projects with many customizations. Therefore, we've put significant effort into ensuring that Zensical understands mkdocs.yml configuration files, so that you can build your projects with minimal changes.
-- Zensical – A modern static site generator

Více viz detailní Feature Parity

Material for MkDocs by měl dostávat podporu přibližně do listopadu 2026:

We're aware that transitioning takes time, which is why we commit to supporting Material for MkDocs for at least the next 12 months, fixing critical bugs and security vulnerabilities as needed.
-- Zensical – A modern static site generator

Zensical je k dispozici pod permisivní MIT licencí (stejně jako Material for MkDocs). Zajímavou změnou je odklon od sponsorware modelu (kde některé funkce byly jen pro sponsory) k nabídce pro profesionální použití pomocí Zensical Spark.

Vývoj plánuji dále sledovat a rozhodně jim přeju, ať se tenhle model osvědčí.

Update: Zdá se, že v posledních verzích Material for MkDocs je potřeba explicitně přidat přepínač --livereload. K tomu se od verze 9.7.2 začalo vypisovat varování o nekompatibilitě s MkDocs 2, které lze vypnout nastavením proměnné prostředí NO_MKDOCS_2_WARNING=1. Nově tedy pro spuštění vývojového serveru používám příkaz:

NO_MKDOCS_2_WARNING=1 uv run mkdocs serve --livereload

Nekompatibilita s MkDocs 2 je zároveň od verze 9.7.5 explicitně ošetřena:

We released 9.7.5, which limits the version range of MkDocs to <2. This ensures that your builds will continue to work, even if MkDocs 2.0 is released.
-- What MkDocs 2.0 means for your documentation projects

Gradia: aplikace pro úpravu screenshotů

Release Notes ke Gnome 50 zmiňují řadu užitečných aplikací, mimo jiné Gradia. Aplikace slouží k úpravě a anotaci screenshotů, což občas potřebuji. Doteď jsem používal GIMP, příp. screely.com (služba, zdá se, není dostupná), přičemž úpravy nebyly zrovna pohodlné. Oproti této kombinaci je Gradia velmi jednoduchá a praktická.

Níže přikládám screenshoty, vytvořené - jak jinak - pomocí Gradia:

Gradia screenshot

K dispozici je řada funkcí: např. výběr barvy a stylu pozadí, zvýrazňování, nebo vkládání šipek a popisků. Zajímavou vlastností je možnost upravit poměr stran výsledného obrázku:

Gradia screenshot – výběr poměru stran

Aplikace je oficiálně distribuovaná prostřednictvím Flatpaku:

flatpak install flathub be.alexandervanhee.gradia

Editace portrétu s Gemini 3 Flash Image

Poslední dobou si hraju s úpravou obrázků v různých chatbotech, a napadlo mě zkusit upravit portrétovou fotku, kterou mi dělal kolega fotograf cca před rokem a půl (viz níže portrét vlevo). Nelíbila se mi na ní zelená mikina a příliš tmavé pozadí. Pozadí by se jistě dalo vyřešit v nějakém fotoeditoru, ale mikina jen těžko.

Náhled portrétu a jeho následných editací

Po diskusi s Gemini vyhrála varianta neutrálního bílého trika s límečkem a světlejšího pozadí (viz výše portrét uprostřed). Chtěl jsem mít portrét do CVčka, který by se hodil jak do korporátu, tak do startupu. S výsledkem jsem byl velmi spokojen, a po oříznutí a lehkém vyretušování v GIMPu jsem se rovnou zbavil i vodoznaku bílé hvězdy, který Gemini generuje v pravém dolním rohu. Skvělé, ušetřilo mi to čas a peníze za novou fotku.

Postupem času jsem ale docela výrazně změnil "image" (přibyly brýle a plnovous) a dokonce se mi stalo, že mě lidé podle fotky nepoznali. Pokusy s prompty typu "Přidej brýle a plnovous" dopadly bídně - a navzdory různému ladění se mi nepodařilo dosáhnout uspokojivé shody. Nastal tedy čas na pokus s jednoduchou selfie a přenesením vzhledu. Následující fotku jsem použil jako referenci pro podobu brýlí a vousů:

Minimalistický počátek projektu llama.cpp

Simon Willison včera psal o spojení týmu ggml.ai (Georgi Gerganov, llama.cpp) s Hugging Face. Zaujalo mě, jak minimalistické README (resp. funkcionalitu) llama.cpp projekt na počátku měl. V podstatě "jen" prototyp pro běh modelu Llama 2 (7B) s 4-bitovou kvantizací na MacBooku (na CPU).

This was hacked in an evening - I have no idea if it works correctly.

So far, I've tested just the 7B model and the generated text starts coherently, but typically degrades significanlty after ~30-40 tokens.

Uživatel si musel program sám zkompilovat a počítat s řadou omezení.

Limitations

  • Currently, only LLaMA-7B is supported since I haven't figured out how to merge the tensors of the bigger models. However, in theory, you should be able to run 65B on a 64GB MacBook
  • Not sure if my tokenizer is correct. There are a few places where we might have a mistake: [...]
  • I don't know yet how much the quantization affects the quality of the generated text
  • Probably the token sampling can be improved
  • No Windows support
  • x86 quantization support not yet ready. Basically, you want to run this on Apple Silicon

Líbí se mi ta jednoduchost a transparentnost bez nároku na hotový produkt, bez nároku někomu něco prodávat. A přesto je dnes llama.cpp velmi propulární a využívaný nástroj pro běh velkých jazykových modelů na vlastním hardware.

Realistické 3D modely Lega s LeoCAD a Blender

LeoCAD to Blender

Před pár dny jsem šel okolo obchodu s použitými dílky a stavebnicemi Lego, a dostal velkou chuť si něco zase postavit (v dětství jsem tím strávil moře času). Bohužel, moje vlastní sbírka se v průběhu času někde ztratila a hned jít a něco si koupit se mi nechtělo. Rozhodl jsem si nejprve oživit vzpomínky pomocí open source nástroje LeoCAD, který slouží k vytváření 3D modelů z Lega.

Jako první padla volba na "Ostrovní vlčí doupě", které jsem znal jako malý jen z katalogu (strana 22).

Fish Abbreviations

Při snaze ušetřit si psaní dlouhého příkazu (resp. hledání v historii) jsem narazil na zajímavou vlastnost Fish shellu, a to na zkratky (Abbreviations).

Zkratku jde vytvořit např. takto:

abbr --add webui 'WEBUI_AUTH=False open-webui serve'

Poznámka

Aby byla zkratka perzistentní, je potřeba ji přidat do config.fish. Dokumentace doporučuje zkratku nejprve vypsat:

> abbr
abbr -a -- webui 'WEBUI_AUTH=False open-webui serve'

A tento příkaz (tj. abbr -a -- webui 'WEBUI_AUTH=False open-webui serve') pak uložit do konfiguračního souboru.

Výhodou oproti tradičním aliasům je, že po zadání zkratky webui se zkratka dá expandovat (typicky pomocí mezeníku nebo Enteru). Je tak zřejmé, jaký příkaz se bude spouštět a případně ho lze upravit.

Update: Zkratka se pomocí Enteru expandovat nedá. Příkaz se rovnou spustí.

AI jako nástroj podvodníků

„Ještě před čtyřmi lety se úspěšnost rozpoznání deepfakes lidmi pohybovala kolem 70–80 %, nicméně s vývojem nových generací syntetizátorů se kvalita podvrhů natolik zlepšila, že se již na svou schopnost deepfake rozpoznat nemůžeme spolehnout. Naše výzkumy navíc ukazují, že pokud lidé předem nevědí, že mají hodnotit deepfake – což je scénář, který při útoku nastává, protože útočník vás na rozdíl od vědce typicky nevaruje o povaze útoku –, jejich schopnost rozpoznání klesá prakticky k nule,“ říká docent Kamil Malinka z brněnského VUT.
-- Když vám zavolá klon: Anatomie miliardového byznysu s AI podvody

Generování tagů s Agent Skills pro Claude Code

Už dříve jsem psal o asistentovi v Open WebUI, který mi pomáhá generovat tagy pro články na tomto blogu. Vzhledem k tomu, že mám články jako lokální soubory, bylo by jednodužší použít např. Claude Code, který má text článku rovnou k dispozici, bez nutnosti cokoliv manuálně kopírovat do GUI nebo extrahovat seznam tagů z webu. Zároveň mě zaujala nová vlastnost zvaná Agent Skills, která umožňuje agentovi přidávat specializované schopnosti. Níže sdílím své poznámky ke generování tagů právě s pomocí Claude Code.

Poznámka

Kompletní zdrojový kód je k dispozici na GitHubu.

Definice vlastního skillu

Nový skill je jednoduše adresář (v mém případě generate-tags/), který obsahuje SKILL.md, příp. další pomocné soubory. Stačí mi, aby byl skill přístupný jen pro daný repozitář:

peberanek.github.io/
.claude/
└── skills
    └── generate-tags
        ├── scripts
        │   └── list_tags.py
        └── SKILL.md
...
(Skill lze, nicméně, zpřístupnit i šířeji.)

Soubor SKILL.md obsahuje minimální potřebné instrukce. Jako první jsou definována metadata (tzv. frontmatter ve formáty YAML), která se načítají automaticky. Z nich agent pozná, zda má daný skill použít:

SKILL.md
---
name: generate-tags
description: Generate the list of tags for a blog post.
---