Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.
Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.
Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.
Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.
EU chce (pořád) skenovat soukromé zprávy a fotografie. Návrh "Chat Control" by nařídil skenování všech soukromých digitálních komunikací, včetně šifrovaných zpráv a fotografií.
Byly publikovány fotografie a všechny videozáznamy z Python konference PyCon US 2025 proběhlé v květnu.
Společnost xAI a sociální síť X amerického miliardáře Elona Muska zažalovaly firmy Apple a OpenAI. Viní je z nezákonné konspirace s cílem potlačit konkurenci v oblasti umělé inteligence (AI).
Byla vydána nová verze 9.16 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
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.txtA 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
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.