Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.
Předobjednat si lze nový jednodeskový počítač Arduino VENTUNO Q s předinstalovaným Ubuntu. S 16 GB LPDDR5 a 64 GB eMMC. Pro lokální LLM, agentní AI, počítačové vidění, robotiku…
Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě. Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom
CERN dlouhodobě používal vlastní sestavení RHEL, ze kterého přešel na CentOS Stream. Federico Vaga a Nikos Tsipinakis ale nyní v přednášce na MiniDebConf Winterthur 2026 popisují plán probíhajícího přechodu na Debian pro řízení akcelerátorů. Důvodem k opuštění CentOS Stream jsou zachování zpětné kompatibility se starším hardwarem, kterou Red Hat narušuje, když tlačí sestavení balíčků pro novější verze architektury (x86-64), a nedostatečné nástroje pro sestavování vlastních balíčků a repozitářů.
UZDoom (Wikipedie), tj. fork GZDoom, byl vydán ve verzi 5.0.0. Videopředstavení na YouTube. Podrobný přehled novinek v Changelogu.
Řešení dotazu:
Otazka je proc vubec neco takoveho delat?Súhlasím, že toto je kľúčová otázka, ktorú by mal opytujúci sa zodpovedať. Pravdepodobne tak zistí, že zdroj jeho problému, ktorý sa snaží takto riešiť, leží mimo akéhokoľvek VCS; tam ho treba aj riešiť. Ak je opytujúci sa stále presvedčený, ze požadovanú funkcionalitu potrebuje, mal by sa poobzerať po iných VCS. Určite by nemali byť distribuované, ale centralizované, pravdepodobne s kategórie "enterprise". Napr. Perforce núti používateľa otvoriť súbor na editáciu pred jeho zmenou, pričom táto informácia sa cez workspace prenáša na server. Pragmaticky vzaté, vývojári budú nasadenie Perforce v roku 2016 tak nenávidieť -- podotýkam, že spolu so strojcom tejto myšlienky -- že začnú používať
git-p4(1), a celá snaha o sledovanie paralelných modifikácií bude márna.
Chtělo by to nástroj, který hlídá (přes inotify) změny v souborech a odešle na server informaci o těch editovaných a server ji přepošle všem ostatním vývojářům – takže můžeš změny včas odložit a počkat, až práci dokončí kolega.
Takový nástroj by šel použít s libovolným verzovacím systémem a libovolným editorem. Případně by mohl existovat i doplněk do editoru, který zprávu odešle ještě než soubor uložíš, ale to není úplně nutné.
Jak ztrácet čas řešením konfliktů?Čas a nervy – někteří to dost špatně snášejí. Já to řeším většinou tak, že dělám co nejčastěji merge/rebase a push.
Nic z toho, co jsi popsal, nezpůsobuje konflikt.Konflikt způsobuje všechno – stačí změna na stejném řádku a Git (nebo jiný nástroj pracující na úrovni textu) je z toho v háji. To by bylo potřeba, aby nástroj pro diff/merge rozuměl danému jazyku – to by pak mohl např. provést refaktoring i v kódu, který v tu dobu nebyl k dispozici (byl ještě na počítači jiného vývojáře).
Navíc zamykání souborů vůbec nefunguje na feature branche, které se následně mergují do hlavní větve.Ten nástroj by měl vědět, z které větve do které budou změny putovat, co je z čeho odvozené a upozornit i vývojáře pracující na jiných větvích.
Pokud vývojáři pracují s distribuovaným VCS a na zdrojových souborech by potřebovali zamykáníNejde o striktní zamykání – jde o automatizované sdílení informace o tom, kdo na čem dělá. Jak s tou informací ostatní naloží, to už je na nich. Můžeš ji ignorovat a předběhnout ostatní, můžeš udělat commit u sebe, počkat si na změny od kolegy a pak si udělat merge/rebase, nebo se konfliktním místům vyhnout a dělat chvíli něco jiného. Záleží na situaci, ale tak jako tak mi přijde fajn tuhle informaci mít. Je to asi jako když se můžeš podívat do bugzilly, na čem ostatní dělají – jen tohle by bylo na úrovni souborů.
dělají něco nejspíš hodně divně - a vůbec nemá smysl, aby distribuovaný VCS používali, protože jim nic nepřinese.Vždycky něco přinese: rychlejší práci s historií, možnost práce offline, rychlejší přepínání větví, systematičtější větve a štítky (nejsou to jen nějak pojmenované adresáře), možnost si něco vyzkoušet u sebe, aniž bych zprasil centrální úložiště, snadné inkrementální zálohování, větší flexibilitu, možnost mít např. víc úložišť a přetahovat mezi nimi změny po revizi atd.
Konflikt způsobuje všechno – stačí změna na stejném řádkuNo právě. Jak k tomu dojde, že dva programátoři mění nezávisle na sobě stejný řádek?
Ten nástroj by měl vědět, z které větve do které budou změny putovatTakže nezbytným hardwarovým doplňkem bude křišťálová koule?
Nejde o striktní zamykání – jde o automatizované sdílení informace o tom, kdo na čem dělá.Podle mne tahle informace nemá být sdílená ex-post, ale předem, při rozdělování úkolů. Pokud dělají dva lidé na stejné věci, jsou konflikty vzniklé při mergování ten nejmenší problém. Mnohem víc problémů vznikne v kódu, ve kterém nebudou konflikty na úrovni zdrojových kódů, ale na úrovni významu.
Je to asi jako když se můžeš podívat do bugzilly, na čem ostatní dělají – jen tohle by bylo na úrovni souborů.Rozdíl je v tom, že na úrovni bugzilly to význam má, na úrovni souborů ne. Protože to, co vývojář dělá, je vyjádřené právě v té bugzille – změna souborů je jenom nástroj, jak to udělat.
Vždycky něco přinese: rychlejší práci s historií, možnost práce offline, rychlejší přepínání větví, systematičtější větve a štítky (nejsou to jen nějak pojmenované adresáře), možnost si něco vyzkoušet u sebe, aniž bych zprasil centrální úložiště, snadné inkrementální zálohování, větší flexibilitu, možnost mít např. víc úložišť a přetahovat mezi nimi změny po revizi atd.Přičemž shodou okolností všechny tyhle přínosy jsou nekompatibilní s centrálním zamykáním (ať už pesimistickým nebo optimistickým). Nezdá se mi, že by třeba vývojáře linuxového jádra trápilo mergovací peklo. Ostatně, Git si napsal Linux sám právě pro vývoj jádra, takže kdyby to mergování byl problém, nejspíš by mergování napsal tak, aby kódu rozumělo. A to je přitom jádro dost kompaktní projekt, různé enterprise projekty mají podstatně volnější vazby, takže pravděpodobnost, že se vývojáři potkají na stejném kódu, je mnohem menší.
např. něco přejmenuješ, přesuneš, přidáš podmínku nebo odchytávání výjimky (a tím odsadíš blok a změníš všechny řádky v něm) nebo přidáš parametr do metody.Tady právě hodně pomáhá rozpadat metody na minimální kousky kódu, které mají jen pár řádek. Málokdy se oba trefí do stejné metody... Navíc se tím kód výrazně zdokumentuje - výstižně pojmenované krátké metody (téměř nikdy nestačí jednoslovně) jsou lepší než komentáře. Git má rád bílý prostor. Když se může něčeho chytit v blízkém okolí změny, dochází k minimu konfliktů.
Všem, kdo vymýšlejí podobné důmyslné systémy, bych doporučoval zamyslet se nad tím, jak by asi něco takového fungovalo u projektů rozsahu linuxového jádra, LibreOffice nebo Firefoxu.
Ano, existují mimořádné situace, kdy má smysl říct: "Hele, kluci, chystám se tuhle část od základu překopat, počkejte s neurgentními změnami do příštího týdne." Ale to jsou dost řídké výjimky, které lze řešit třeba přes mailing list. V drtivé většině případů standardní git based workflow škáluje směrem dolů velmi dobře i na malé projekty. Naopak, workflow založený na úzkostlivém předcházení potenciálním konfliktům (navíc s pochybnou granularitou po souborech) přestane směrem nahoru škálovat velmi rychle.
Java, což souvisí mj. s dostupností spolehlivých nástrojů pro refaktoring oproti jiným jazykům
když si člověk zapomene stáhnout aktuální verzi
Někomu se to možná nebude líbit, ale přístup "máme efektivní nástroje pro refactoring, tak budeme refactorovat, až se z nás bude kouřit" mi přijde trochu jako "uložit a přeložit je rychlé, tak budu programovat metodou pokus-omyl". Vývojář by neměl dělat věci proto, že na to má pohodlné nástroje, ale proto, že je to v daném okamžiku nejlepší řešení.
Osobně si myslím, že refactoring by měl být vnímán jako krajní možnost a spíš jako určitá forma kapitulace. Obvykle to znamená, že něco bylo navrženo tak špatně, že nic jiného nezbývá a že i všichni budoucí maintaineři a vývojáři, kteří nás za něj budou proklínat, až budou hledat, kde se vzal nějaký kus kódu a proč, jsou menší zlo než nechat ten kód jak je. Ano, čas od času se to stane, ale rozhodně není refactoring něco, co by se mělo dělat s lehkou hlavou a tím, že je to přece jednoduché a máme na to spolehlivé nástroje.
v blame výstupu, atd. Pro mě má daleko vyšší hodnotu aktuální kód, se kterým pracuju. Když se potřebuju podívat na průběh změn (obvykle jde hlavně o popisy commitu), dohledám si to, obvykle na pár kliknutí
A to je právě to, co v kódu vyvíjeném podle vašich představ moc dobře nefunguje. Každý git blame budete muset zopakovat pětkrát, protože první čtyři pokusy vám ukážou akorát commity typu "přejmenovat CoolClass na VeryCoolClass" a "prohodit pořadí parametrů CoolHelper(), protože takhle je to logičtější". A když se konečně doberete ke commitu, který skutečně zavedl to, co vás zajímá, zjistíte, že mu vůbec nerozumíte, protože třídy a metody, které se tam používají, už v současném kódu dávno neexistují, takže nejdřív budete muset zjistit, jak tehdy fungovaly.
Linuxové jádro je naštěstí přes usilovnou snahu některých "uklízečů" poměrně konzervativní a podobným samoúčelným změnám se snaží vyhýbat. Ale i tak je často o nervy něco hledat v pár let staré historii. Jak by to vypadalo, kdyby se refactoring podle momentální nálady prováděl při každé příležitosti, jak to propagujete vy, to si raději ani nesnažím představit.
A to ani nemluvím o tom, co takové dobře míněné změny způsobí v okamžiku, kdy máte nějakou backportovat do starší verze. V lepším případě to bude jen hodně práce nevíc. V tom horším začnete narážet na těžko předvídatelné chyby.
Ak sú vývojári na jednom mieste dá sa použiť na zamykanie fyzický token. Nejaký unikátny ale inak zbytočný predmet v kancelárii, napríklad magnetka z dovolenky. Kto ju má u seba, ten má exkluzívny zámok a môže editovaťTo bys musel mít magnetku pro každý soubor nebo alespoň modul. To je dost malá granularita.
Tuším že admin nakoniec obnovil celý repozitár zo zálohy ešte pred zamknutím a zmeny sa museli ešte raz preniesť ručne. Zabili sme s tým celý deň a všetci boli z toho dosť nervní.Administrátor se snad může přihlásit jeho jménem (např. dočasně změnit heslo) a zámek zrušit, ne? Navíc já tu nenavrhoval zámky, ale jen systém upozornění, který by ti řekl, kdo na čem pracuje, ale bylo by na tobě, jestli se tím budeš řídit.
Pořád v tom moc nevidím moc smyslu.
master.Celé mi to tak trochu připadá, jako by někdo nepochopil, proč vlastně vznikly DVCS a co přinášejí a snažil se git používat jako trochu modernější CVS.
Tiskni
Sdílej: