Sovereign Tech Agency (Wikipedie), tj. agentura zabezpečující financování svobodného a otevřeného softwaru německou vládou, podpoří GFortran částkou 360 000 eur.
Microsoft hodlá zrušit zhruba tři procenta pracovních míst. Microsoft na konci loňského června zaměstnával kolem 228.000 lidí. Tři procenta z tohoto počtu představují téměř 7000 pracovních míst.
V říjnu loňského roku provedl Úřad pro ochranu hospodářské soutěže (ÚOHS) místní šetření u společnosti Seznam.cz. Krajský soud v Brně tento týden konstatoval, že toto šetření bylo nezákonné.
Branch Privilege Injection (CVE-2024-45332, Paper) je nejnovější bezpečnostní problém procesorů Intel. Intel jej řeší ve včerejším opravném vydání 20250512 mikrokódů pro své procesory. Neprivilegovaný uživatel si například může přečíst /etc/shadow (YouTube).
Dle plánu byl vývoj Firefoxu přesunut z Mercurialu na Git. Oficiální repozitář se zdrojovými kódy je na GitHubu.
V terminálovém multiplexoru GNU Screen byly nalezeny a v upstreamu ve verzi 5.0.1 už opraveny bezpečnostních chyby CVE-2025-23395, CVE-2025-46802, CVE-2025-46803, CVE-2025-46804 a CVE-2025-46805. Podrobnosti na blogu SUSE Security Teamu.
Training Solo (Paper, GitHub) je nejnovější bezpečnostní problém procesorů Intel s eIBRS a některých procesorů ARM. Intel vydal opravnou verzi 20250512 mikrokódů pro své procesory.
Byla vydána nová verze 25.05.11 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Svobodný elektronický platební systém GNU Taler (Wikipedie, cgit) byl vydán ve verzi 1.0. GNU Taler chrání soukromí plátců a zároveň zajišťuje, aby byl příjem viditelný pro úřady. S vydáním verze 1.0 byl systém spuštěn ve Švýcarsku.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL
… více »Ř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.
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: