Chris Kühl (CEO), Christian Brauner (CTO) a Lennart Poettering (Chief Engineer) představili svou společnost Amutable. Má přinést determinismus a ověřitelnou integritu do linuxových systémů.
Byla vydána (𝕏) nová verze 26.1 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.1 je Witty Woodpecker. Přehled novinek v příspěvku na fóru.
Deník TO spustil vlastní zpravodajský webový portál ToHledej.CZ s internetovým vyhledávačem a bezplatnou e-mailovou schránkou. Dle svého tvrzení nabízí 'Zprávy, komentáře, analýzy bez cenzury' a 'Mail bez šmírování a Velkého bratra'. Rozložením a vizuálním stylem se stránky nápadně podobají portálu Seznam.cz a nejspíše je cílem být jeho alternativou. Z podmínek platformy vyplývá, že portál využívá nespecifikovaný internetový vyhledávač třetí strany.
Computer History Museum (Muzeum historie počítačů) zpřístupnilo své sbírky veřejnosti formou online katalogu. Virtuálně si tak můžeme prohlédnout 'rozsáhlou sbírku archivních materiálů, předmětů a historek a seznámit se s vizionáři, inovacemi a neznámými příběhy, které revolučním způsobem změnily náš digitální svět'.
Ruský hacker VIK-on si sestavil vlastní 32GB DDR5 RAM modul z čipů získaných z notebookových 16GB SO-DIMM RAM pamětí. Modul běží na 6400 MT/s a celkové náklady byly přibližně 218 dolarů, což je zhruba třetina současné tržní ceny modulů srovnatelných parametrů.
Národní identitní autorita (NIA), která ovlivňuje přihlašování prostřednictvím NIA ID, MEP, eOP a externích identit (např. BankID), je částečně nedostupná.
Byla vydána nová verze 1.16.0 klienta a serveru VNC (Virtual Network Computing) s názvem TigerVNC (Wikipedie). Z novinek lze vypíchnout nový server w0vncserver pro sdílení Wayland desktopu. Zdrojové kódy jsou k dispozici na GitHubu. Binárky na SourceForge. TigerVNC je fork TightVNC.
Byla vydána nová verze 4.6 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Rozsáhlá modernizace hardwarové infrastruktury Základních registrů měla zabránit výpadkům digitálních služeb státu. Dnešnímu výpadku nezabránila.
Čínský startup Kimi představil open-source model umělé inteligence Kimi K2.5. Nová verze pracuje s textem i obrázky a poskytuje 'paradigma samosměřovaného roje agentů' pro rychlejší vykonávání úkolů. Kimi zdůrazňuje vylepšenou schopnost modelu vytvářet zdrojové kódy přímo z přirozeného jazyka. Natrénovaný model je dostupný na Hugging Face, trénovací skripty však ne. Model má 1 T (bilion) parametrů, 32 B (miliard) aktivních.
Potřeboval jsem po delším čase přejet nějaké soubory přes svůj skript djvutool, když tu na mě začala konzole opět pindat, že příkaz tempfile je deprecated, tak abych místo něj použil mktemp. Ok. Tak jsem skočil do repozitáře kde ho mám a zjistil, že jsem do něj už v minulosti udělal několik drobných změn, které jsem ale necommitoval. Byly to drobné úpravy, ale vzájmně nesouvisely. Tak jsem je chtěl commitnout samostatně.
Nebylo to poprvé, co jsem někde něco ladil a při tom nadělal víc změn, které by zasluhovaly samostatný commit. Ostatně, víc jsem se o tom rozkecal v blogpostu na téma Počítačová archeologie. Zkrátka jsem se dopálil, že takhle už to dál nejde a obrátil se na Pavla Píšu, který má přeci jenom s gitem víc zkušeností než já.
Zajímalo mne vyloženě konzolové řešení a tak mne překvapilo, že pro commitování takových dílčích změn používá git gui. Nicméně do háje mne neposlal, nýbrž odkázal na stránku Git Tools - Interactive Staging, kde bylo přesně to co jsem hledal.
Jako obvykle, je to stupidně prosté a z mého pohledu dokonce mnohem lepší řešení než přes grafické klikátko. Takže to popíšu jen několika slovy a odkážu na ilustrační screenshot v příloze.
-i$ git add -i
p, nebo odentrováním čísla 5, se spustí příkaz [p]atch, který opět vypíše přehled souborů, ve kterých jsou změny.
$ git status
On branch master
Your branch is ahead of 'github/master' by 15 commits.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: djvutool
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: djvutool
Untracked files:
(use "git add <file>..." to include in what will be committed)
COPYING
djvu_foreground_encoding_examples.txt
djvuchanges.txt
djvutosvg_poznamky.txt
historie_djvu_wiki.txt
wiki-djvu.txt
A teprve pak přišel na řadu commit připravené stage
Tiskni
Sdílej:
git stash (uložení rozpracovaného stavu na zásobník, vrátí se to git stash pop) a commituji potom.
git commmit -a -m 'WIP'
rebase --autosquash), akorát si člověk musí dát pozor, aby neopakoval stejnou commit message vícekrát, protože fixup commit se váže na commit message, ne na hash (což mi přijde jako blbý rozhodnutí, ale nic s tim neudělám).
git add -i je určitě fajn, ale git gui umožňuje stagovat s vyšší granularitou (jednotlivé řádky).
protože fixup commit se váže na commit message, ne na hash (což mi přijde jako blbý rozhodnutí, ale nic s tim neudělám).Protoze to ma implikace, ze pak musis umet ty fixup commity mit svazane s tim fixovanym, i kdyz udelas treba rebase bez toho autosqashe, atp. A muj tip je, ze kdyz se tim smerem vydas, tak skoncis zpatky ve stavu, ze ktereho si vysel. Ze nejjednodusi (mozna i jedinny) zpusob, jak toho dosahnout, je normalni commit se specialnim jmenem. A trochu se obavam, ze neco podobneho by se ti stalo i s tim zasobnikem, kde by to vlastne bylo to same akorat by to byla fixup vetev.
Protoze to ma implikace, ze pak musis umet ty fixup commity mit svazane s tim fixovanym, i kdyz udelas treba rebase bez toho autosqashe, atp.Rebase by to mohl celkem snadno umět aktualizovat, stejně už IIRC upravuje časový razítko u všech commitů... A u nějakýho jinýho způsobu úpravy historie by to bylo holt na tobě. Ale souhlasim, že to je implementačně/koncepčně složitější...
akorát si člověk musí dát pozor, aby neopakoval stejnou commit message vícekrát
Celý commit message stejný, to je při rozumně napsaných prakticky nemožné, pokud nejde o cherry pick. I úplně stejný subject je na pováženou, pokud je to v jedné sérii.
git add -i commitnut samostatne len niektore riadky z prveho hunku a asi by bolo treba pouzit git add -e, co uz zacina byt trochu komplikovane.
Neverim, ze niekto kto pouziva Emacs este o Magite nepocul, ale ak niekto uvazuje Emacs skusit, tak uz len pre ten Magit by som odporucal tomu dat sancu napriklad s niecim ako Doom Emacs.
git add -i" mi k srdci nepřirostl a i když jsem se mu párkrát snažil dát šanci, "git gui" je z hlediska uživatelského komfortu úplně jiná liga.
90% času tohle potřebuji řešit na vzdáleném stroji s minimalistickou instalací
Pak je asi na místě otázka, jestli je rozumné ten git spouštět přímo tam. Já jsem třeba poměrně dlouho z lenosti z domova používal git na počítači v práci (včetně "git gui" přes "ssh -X") a teprve to, že jsem dočasně musel používat jiný VPN endpoint, a s tím související nárůst latencí mne donutil zařídit si to tak, abych tohle dělat nemusel. S odstupem času je to samozřejmě praktičtější, ale kdyby mne k tomu nedonutily okolnosti, nejspíš bych to tím krkolomným způsobem dělal dodnes.
Situace že by se mi těsně vedle sebe sešly dvě různé věci, tak že by je bylo nutné separovat po řádcích, je pro mne velmi nepravděpodobné.
Mně se to naopak děje docela často. Což ale možná souvisí s…
Důležitý je pro mne commit komplexní změny.
Commit by právě pokud možno moc komplexní být neměl. Naopak, měla by to být co nejmenší změna, která sama o sobě ještě dává smysl. Jak kdysi podotkl jeden maintainer, pokud píšete commit message a chystáte se začít větu slovem "Also", je to obvykle znamení, že byste měl commit rozdělit.
Pak je asi na místě otázka, jestli je rozumné ten git spouštět přímo tam.To teda rozhodně je
Je to nejrychlejší způsob, jak zjistit jestli, nebo kdy někde nastala nějaká nežádoucí změna. Často toho využívám při dohledávání změn realizovaných někdy v minulosti.
git add -i jsem ani neznal. Osobně používám git add -p (případně i s cestou), který spustí rovnou tu interaktivní "patchovací" část.