No já si nemyslím, že problém je primárně v UI. Přece nemůže být zásadní překážka k tomu navrhnout celý datový model tak, aby v případě dočasného přepnutí režimu repozitáře data o hvězdičkách zůstala v systému, byť samozřejmě bez efektu a pak po návratu zpět prostě bylo vše v pořádku i bez pochybného řešení ze zálohy databáze. No a teprve třeba po dvou týdnech (ideálně s opakovaným varováním mailem) některé údaje pocházející z public režimu smazat.
Ano, logická. Privátní repository logicky nemůže mít komunitu a tedy ani žádný kredit. A není to „přepne jeden switch“. Uživatel musí jít do zóny „Danger zone“, kde je několik červených tlačítek, po stisknutí kteréhokoli tlačítka se objeví potvrzující dialog, kde je znovu upozorněn na nebezpečí a musí jako potvrzení znovu vložit úplné jméno repository.
To chování veřejných a privátních repository je na GitHubu nepochybně už z doby, kdy byl GitHub samostatný. Takže psát, že „zase Microsoft“ něco udělal špatně je poněkud mimo. Je pravda, že dotazy na uživatele, zda chce opravdu provést nějakou destruktivní operaci, jsou trochu alibistické – protože uživateli dojde zpravidla až později, že tu operaci provést nechtěl. Na druhou stranu, i UX designeři to takhle navrhují – protože když chcete umožnit vrátit destruktivní operaci, musíte 99,999 % uživatelů, kteří repository chtěli smazat, zaplevelit GUI prvky pro zobrazení a obnovu smazaných repository kvůli tomu 0,001 % uživatelů, kteří repository smažou omylem. A jak nemám rád řeči, že si uživatel měl dávat větší pozor a že snad ví, co dělá, musím říct, že i když tyhle nebezpečné operace nemá GitHub vyřešené ideálně a zjevně se stále může stát, že si uživatel poplete repository, má to vyřešené nadprůměrně dobře – a Jakub Roztočil k té operaci z dangerous zóny přistoupil poněkud lehkovážně.
Jenom bych ještě připomněl takovou drobnost, že UX vzor „nebezpečné operace si nenech od uživatele potvrzovat, ale umožni mu je vrátit“ ve světě IT rozšířil právě Microsoft tím, že ve Windows 95 zavedl pro mazání souborů koš. Na což spousta lidí, kteří pak všude píšou „zase Microsoft“, nadává a tvrdí, že přece když chtějí soubor smazat, tak ho chtějí smazat a ne přesunout do koše.
to už je takový dnešní zvyk...
Já například občas žasnu, když se dozvím, co revolučního nám opět vymyslel Apple a co že je to na iPhonech zase za revoluční novinky :) (ale nechci křivdit - ono zapomínání nebo neznalost není jen u jablečné značky, ale tam to je nejvíce vidět, protože za tím stojí masivní marketing)
Filip Jirsák
Takže to rozšířil až Microsoft, protože předtím to mělo pár okrajových systémů.
to [Koš] NEmelo pretim par okrajovych systemu, zminovana Amiga a Mac ve sve dobe totiz nebylo ani omylem okrajove, ale majorita, to ze pak prisel Microsoft s Windows kdy po letech do do nich pridal Kos na tom nic nemeni, ze pridal vlastnost kterou meli ostatni majoritni systemy mnohem drive...
> Nebyly majoritní, což z nich ale určitě nedělá systémy okrajové.
Nejen to. Jestliže Microsoft měl většinu a pak "sprostě okopíroval" nějakou dobrou věc od menších konkurentů, nezaslouží si za to ovace, ale spíš něco jako "no konečně". On přece není ten, kdo to prosadil a tím posunul vývoj dopředu, ale ten, kdo byl pozadu a dohnal zpoždění.
Filip Jirsák
V době nástupu Windows 95 nebyla Amiga ani Mac majorita.
to sem samozrejme nepsal, Amiga a Mac byla majorita mnoho let predtim a tehdy jiz meli Koš... to ze Windows95 ho prinesli v dobe kdy majorita bylo Windows nemeni nic na tom ze to nebyla zadna novinka...
16. 4. 2022, 15:28 editováno autorem komentáře
To je zase ta Tvoje "autistická" logika - jasně, tak nějak roboticky logické to je. Zároveň jsi sám uznal, že z lidského hlediska to mají vyřešeno neoptimálně. Všimni si, že já jsem zrovna o Microsoftu nenapsal ani ň - je jasné, že to takhle dostali a že by museli zainvestovat, aby to fungovalo LIDSKY správně. A s tím alibismem jsi to vystihnul přesně. Možná to varování zastaví občas někoho, ale problém to obecně neřeší.
Každá příležitost kopnout si do Microsoftu/GitHubu je dobrá, k tomu bych se i přidal :-)
Ale objektivně vzato: vzhledem k tomu, že GitHub má na Twitteru 2,2 milionu sledujících a že tuhle zprávu "přetiskne" spousta zpravodajských webů po celém světě, tak to pro autory toho programu není až tak tragédie jako spíš skvělá reklama. Aneb, kdo dosud nevěděl, že nějaké HTTPie existuje, tak teď už to ví. Jestli patřičně upravili svoji titulní stránku, aby z té náhlé návštěvnosti marketingově vytěžili maximum, to jsem nezkoumal, ale na jejich místě bych se na to odpovídajícím způsobem připravil :-)
Další věc je, že - jakkoli je GitHub špatný - tak se tam prý nedá jen tak "ukliknout" a nastavit repozitář na soukromý - četl jsem, že je potřeba to potvrdit, takže správce by si měl být vědom toho, co dělá (pokud tedy nebyl po nějaké opravdu vydařené kalbě). Může to někdo s účtem na GitHubu potvrdit, ideálně i nafotit screenshoty?
V nastavení projektu je „Danger zone“, kde kliknete na tlačítko „Change visibility“, objeví se potvrzovací dialog, který po kliknutí na „Make private“ vypadá takhle: https://pasteboard.co/hYQcPEpLk5eb.png
Změnit viditelnost omylem moc nejde. Ale podle toho, co je popsané v odkazovaném článku, si vlastník repository spletl repository. To je sice chráněné tím, že musíte jméno repository potvrdit, ale chápu, že když jedno repository je pojmenované login/login a druhé je login/.github, může se to přehlédnout. Ale je to dost specifická situace.
Je to v danger zone, zobrazí se dialog a nestačí jen kliknout na Ok, ale musíte napsat i jméno repozitáře (tak to bylo již před MS).
https://jadro-windows.cz/tmp/remdisk.jpg
Tenhle pláč tady mi přijde dost zbytečný. Sice úplně nerozumím, proč mazat hvězdičky při změně viditelnosti na privátní (prostě bude složitější dotaz do databáze při vyhledávání), ale zkrátka je třeba mít také svoji zodpovědnost. Navíc, pokud měl ten repozitář tolik hvězdiček, tak asi nemá úplně problém s tím, že by jej lidé neznali.
Co se týče toho, že pro MS repozitář si hvězdičky vrátili -- ví se o tom něco víc? Např. zda měl z toho problémy ten, kdo to způsobil?
Nemyslím si, že by ty hvězdičky mazaly jen tak. Myslím, že privátní repository budou třeba v jiné tabulce, takže tu vazbu neumožní referenční integrita. Ostatně původně byl v GitHubu větší rozdíl mezi privátními a veřejnými repository, takže by mne nepřekvapilo, kdyby to nebyl jen příznak v tabulce, ale byl to jiný datový model.
S tou reklamou nevím, na jiném webu než na Rootu jsem na to nenarazil.
Když si přečtete blog příspěvek Jakuba odkazovaný ze zprávičky, tam to rozebírá. UX GitHubu je udělané dost blbě a píše jen obecně "tahle operace může být nebezpečná", ať mažete prázdný projekt, nebo projekt s desetitisíci hvězdiček. Sice chtějí opsat jméno repository, ale pokud ta jsou podobná, tak se můžete lehce splést i tady. To je lidská psychologie - pokud máte nějaký pohled na situaci (například "mažu repositář X"), tak to chce silný impuls, abyste si uvědomil, že to není pravda. De fakto varianta confirmation biasu. Netýká se to zdaleka jen IT, rád koukám na dokumenty o leteckých nehodách a tam se podobný efekt taky nezřídka vyskytuje - pokud posádka získá klamný přehled o situaci, dokáže ignorovat docela dost indicií, že je to ve skutečnosti jinak.
Jinak podobnou situaci jsem zažil v práci. V jisté bance admin smazal testovací (DB?) cluster. Jenže on to nebyl testovací, on byl produkční. Takže banka půl dne nejela, než to všechno vrátili zpátky ze zálohy. V reakci na to zavedli pro produkční prostředí výrazně odlišný prompt :-)
17. 4. 2022, 07:51 editováno autorem komentáře
Máte příklad nějaké aplikace, která má UX, které by vám při destruktivní operaci říkalo, jak moc je daný objekt pro vás důležitý? On je totiž většinou problém to určit. A natahovat tu potvrzovací hlášku dalšími a dalšími informacemi znamená, že si ji méně a méně lidí přečte. Podle mne tu hlášku už dnes většina lidí nečte, takže si nemyslím, že by řešením byla její drobná úprava.
Vy možná nečtete odkazy ze zpráviček, tak předpokládáte, že je nečtou ani ostatní. Já je ale čtu. Tomu by odpovídalo i to, že nečtete ani komentáře, na které reagujete.
Tak já to zkusím ještě jednou. Jakub ukazuje, že zobrazují 3 čísla. V případě zneviditelnění repository na GitHubu by se muselo zobrazovat:Pominu-li, že jak už několik lidí správně upozornilo, sebevýraznější varování před omylem stejně neochrání, neřekl bych, že lze nějak objektivně měřit významnost projektu těmi statistikami, o kterých se tu bavíme. Za prvé je vnímání značně subjektivní, pro někoho může být 100 hvězdiček spousta, pro jiného může být 10000 nezajímavě málo. A za druhé všechny tyhle statistiky odrážejí jen velmi specifický druh zájmu. Dokážu si třeba velmi dobře představit projekt, který sice používá obrovské množství lidí, ale nejsou to vývojáři a o existenci githubu nemají vůbec tušení, takže z jeho pohledu projekt zajímá jen pár vývojářů a pak ještě dalších pár maintainerů distribučních balíčků.
Ale hlavně mi připadá úsměvné, jak se coby obrovská tragédie řeší nějaké hvězdičky, které nemají žádný praktický význam, zatímco to, že zprivátnění repozitáře v první řadě znamená, že k němu ostatní ztratí přístup, se bere jako nezajímavá lapálie. Znamená to, že posedlost mainstreamové společnosti "lajky" a počtem "followerů" pronikla už i do těchto kruhů?
> Ale hlavně mi připadá úsměvné, jak se coby obrovská tragédie řeší nějaké
> hvězdičky, které nemají žádný praktický význam, zatímco to, že zprivátnění
> repozitáře v první řadě znamená, že k němu ostatní ztratí přístup, se bere jako
> nezajímavá lapálie.
Ano, protože dotyční vám napíšou "hele, ztratil jsem přístup", vy se praštíte do čela, přepnete repository zpět na public a vše je při starém. Opravdu nezajímavá lapálie. Kdežto hvězdičky a sledování takhle nevrátíte. O tom je celá ta zprávička.
Jasně. Já nečtu odkazy ze zpráviček, ale přesto vím, co je na nich napsané. Vy je sice čtete, ale přesto se na informace z nich musíte doptávat Když se vykrucujete, musíte se snažit víc, tohle bylo dost průhledné :-D
Co se týče zbytku toho vašeho blábolu:
Za prvé, jak jste si v rychlosti po mém upozornění četl ten Jakubův blogpost, tak jste přehlédl jeden jeho podstatný point - že nejde ani tak o ta čísla, ale o to, aby upozornění bylo důrazné podle toho, jak moc důležité repository mažu.
A za druhé vám evidentně ušlo, že přepnutím repository na privátní nepřijdete o žádné soubory, commity, branche, tagy ani nic takového a tedy jejich počet je v tom případě poměrně irelevantní. Podstatný je počet hvězdiček / počet sledujících.
18. 4. 2022, 06:32 editováno autorem komentáře
Vy je sice čtete, ale přesto se na informace z nich musíte doptávat.
Já jsem se ovšem na nic, co je napsané v blogu, nedoptával.
Za prvé, jak jste si v rychlosti po mém upozornění
Lžete.
že nejde ani tak o ta čísla, ale o to, aby upozornění bylo důrazné podle toho, jak moc důležité repository mažu.
Jasně, a protože jsem to přehlédl, tak jsem reakci na to přehlédnuté věnoval celý svůj komentář, kde jsem napsal mimo jiné tohle:
jak moc je daný objekt pro vás důležitý? On je totiž většinou problém to určit.
A za druhé vám evidentně ušlo, že přepnutím repository na privátní nepřijdete o žádné soubory, commity, branche, tagy ani nic takového
Ovšem přijdou o to všichni ostatní. Což je jaksi předmětem té změny viditelnosti. Řekl bych, že repository je důležité kvůli zdrojovým kódům, ne kvůli hvězdičkám.
Podstatný je počet hvězdiček / počet sledujících.
Tak určitě.
Jinak asi vám nedochází, že když je člověk přesvědčen, že zneviditelňuje nějaké nepodstatné repository, nebude zkoumat počet hvězdiček – protože to přece ví, že je to nezajímavé repository a že tam žádné hvězdičky nebudou. Případně, i kdyby si toho všiml, by si řekl, že je jedině dobře, že to zneviditelňuje, protože lidé jsou hloupí a lajkují mu pomocné repository místo hlavního.
> Já jsem se ovšem na nic, co je napsané v blogu, nedoptával.
Aha, takže to tenhle dotaz (17.4. 8:54) psal asi nějaký jiný Jirsák: "Máte příklad nějaké aplikace, která má UX, které by vám při destruktivní operaci říkalo, jak moc je daný objekt pro vás důležitý?"
(Předpokládám, že teď napíšete, že jste to samozřejmě věděl a jen nás zkoušel, nebo nějakou jinou trapnou vytáčku :-D )
> Ovšem přijdou o [přístupy] všichni ostatní. Řekl bych, že repository je důležité kvůli zdrojovým kódům, ne kvůli hvězdičkám.
Jak říkám, méně psát, více číst. Tuhle námitku měl v tomto vlákně hned o příspěvek vedle Michal Kubeček a já jsem na ni už dříve odpověděl, že zatímco přístupy se dají lehce vrátit zpět, hvězdičky (a sledování) nikoli. Proto jsou při zneviditelňování repository na GitHubu důležité, zatímco commity/branche/... moc ne.
Vaše "podle sebe soudím tebe" snad ani nemá cenu komentovat.
Aha, takže to tenhle dotaz (17.4. 8:54) psal asi nějaký jiný Jirsák: "Máte příklad nějaké aplikace, která má UX, které by vám při destruktivní operaci říkalo, jak moc je daný objekt pro vás důležitý?"
Ne, na to jsem se ptal já. Asi jste ale nepochopil, na co se ptám, tak vám tu podstatnou část ještě zopakuji:
jak moc je daný objekt pro vás důležitý
Počet nějakých objektů není ekvivalentem důležitosti, jak plyne i z toho, že vy na gitovském repository považujete za důležité úplně něco jiného, než já.
Tuhle námitku měl v tomto vlákně hned o příspěvek vedle Michal Kubeček a já jsem na ni už dříve odpověděl, že zatímco přístupy se dají lehce vrátit zpět, hvězdičky (a sledování) nikoli.
„Snadnost vrácení zpět“ je ovšem něco úplně jiného, než „důležitost“.
Mimochodem, předpokládám, že zneviditelněním repository přijdete také o všechny vazby na externí nástroje, které jsou založené na tom, že repository je veřejné. To může napáchat podstatně více škod, než nějaké hvězdičky.
Zkrátka jste se upnul na jeden velmi okrajový případ, a teď byste tomu chtěl podřídit všechno ostatní. A pak byste se hrozně divil, že uživatel udělal něco, co nechtěl, protože jste veškerou jeho pozornost soustředil na hvězdičky, zatímco se měl věnovat něčemu podstatně důležitějšímu.
Nevěřím že není možné počet hvězdiček zaznamenat a zase navrátit. Btw tohle je typická totalitní microsoftí záležitost, takhle jednají s uživateli/zákazníky standartně. Co se týká asociálnosti projevu, tak Google a Microsoft vedou celosvětověý žebříček. Vždycky když něco nejde/software obsahuje nějaký kontroverzní naschvál, tak člověk z té jejich komunikace cítí takové jakési naplnění a radost.
Nesmysl. Uživatel byl velmi důrazně upozorněn, co dělá a co se stane. Je naprosto zcestný blábol tvrdit, že chyba uživatele, před kterou byl navíc důrazně varovaný, je "totalitní" chování firmy.
Ale je pravda, že v demokracii spousta lidí nechápe, že má nejenom práva, ale i povinnosti, především, že má *odpovědnost* sám za sebe a své chování a chybná rozhodnutí a v důsledku také odpovědnost za druhé a celou společnost. Je takovou specialitou bývalého východního bloku chtít svobodu, ale odmítat osobní zodpovědnost a vymlouvat se na druhé a když dojdou argumenty úplně, tak prskat něco o totalitě...
Můžeme se bavit o tom, jestli lze upravit technické řešení tak, aby obnovu hvězdiček umožňovalo, ale současné řešení ji neumožňuje a varování je adekvátní přístup. Nože se taky nebudou prodávat jenom gumové kvůli tomu, že pár jedinců považuje za totalitu, když se říznou do prstu přestože jim předtím prodavač důrazně vysvětlil, že je ten nůž ostrý a nebezpečný...
Jo a píše se standarDně - je to od slova standard, nikoliv od prezidentské vlajky - standarty...
No ano, pokud je nešikovný a neschopný rozpoznat rizika, tak by si u toho klikání klidně mohl vyrazit zuby o hranu stolu. Dokonce i přesto, že ho nikdo nevaroval, že pokud se bude houpat na židli, může si vyrazit zuby o hranu židle.
Celá tahle diskuse mi připadá jako ještě vyšší level otázky, zda má být v návodu k mikrovlnce napsáno, že se v ní nemají sušit kočky. Některým diskutérům zdá se už nestačí ani takové upozornění a dožadují se ani ne zákazu prodeje mikrovlnek, ale prodeje mikrovlnek, jejichž záření kočka přežije... Lidská hloupost a neschopnost nést důsledky svých chyb vítězí.
Mimochodem, u každého komentáře je tlačítko "Reagovat". Není potřeba zakládat nové vlákno, když reagujete na jiný příspěvek...
Řekl bych, že pointa není ani tak v tom, jestli byl někdo dostatečně upozorněn nebo jestli si to pořádně přečetl. Já problém spatřuji hlavně v tom, že se vůbec něco takového děje - fakt nevím, proč by se ty hvězdičky už tak nějak z podstaty věci měly ztratit a nejít vrátit. A pak (pokud jsem dobře pochopil) arogance ze strany GitHubu.
fakt nevím, proč by se ty hvězdičky už tak nějak z podstaty věci měly ztratit a nejít vrátit
Když zákazník zruší uživatelský účet, zachováte v databázi všechny údaje o něm včetně zákaznického bonusu a pokud se po čase vrátí, tak mu bonus uznáte? Je teda v pořádku, když vám Facebook účet nezruší a data nevymaže i přesto, že jste to požadoval a potvrdil? Vždyť co kdybyste se chtěl vrátit, ne?
Když rozstříháte staré tričko na hadr, taky si schováte rukávy, abyste je když tak mohl přišít, až se rozhodnete z toho zase udělat zpět normální tričko?
Já z podstaty věci nevidím jediný důvod, proč by měl GitHub uchovávat údaje, které z podstaty věci u soukromého repozitáře nedávají žádný smysl. Soukromý repozitář je to právě proto, že k němu nemá přístup nikdo jiný a dávat hvězdičky sám sobě je blbost. Je to samozřejmě otázka implementace, ale nevidím nic kontroverzního na tom, že GitHub neplýtvá místem na datovém úložišti pro data, která není důvod uchovávat.
A nevidím nikde žádnou aroganci GitHubu. Naopak vyšel autorovi vstříc tím, že spamoval na Twitteru, aby pomohl hvězdičky znovu naklikat.
Naopak vidím určitou manipulaci v původním článku, protože tvrzení "byl repozitář omylem přepnut" je zcela jistě zavádějící. On totiž nebyl pasivně nějak sám od sebe přepnut, ale prostě někdo konkrétní udělal chybné rozhodnutí. Čili správně by mělo být "vlastní repozitáře ho chybným rozhodnutím přepnul".
Když něco nevíte, neobviňujte kvůli tomu někoho jiného z arogance.
Už jsem to vysvětloval výše. Odlišnost mezi privátními a veřejnými repozitáři byla dříve v GitHubu daleko větší, než je dnes. Takže je možné předpokládat, že veřejné a privátní repozitáře mají pod sebou jiný datový model (možná dokonce jinou databázi). Takže ty hvězdičky tam nejspíš prostě zůstat nemůžou, protože je u privátního repozitáře není na co navázat.
Znamenalo by to nedělat fyzický výmaz z databáze, ale logický výmaz. To ale zase komplikuje vytvoření repository stejného jména, jako je smazané repository (přičemž to zneviditelnění veřejného repository může být implementované jako smazání veřejného repository a vytvoření privátního).
Ale když něco nevíte a nepřemýšlíte nad tím, je velmi jednoduché to odsuzovat…
chces rict ze je technicky nemozne ci komplikovane nechat hvezdicky atd v name_backup pri prepnuti na private a po prepnuti na public je priradit zpet?
chovani bylo uz za non-MS github, ale to ze nekdo z githubu v 2020 (tedy uz vlastnene MS) prepnul Github Desktop repo na priva, smazlo to hvezdicky a behem par hodin si to obnovily z GitHub zalohy, bylo za koho? Ano za Microsoftu... ;-)
Ano, může to být komplikované. Můžete sice vytvořit repository name_backup
– jenže co když uživatel už takové repository má? Co když ho bude chtít vytvořit v budoucnosti? A nedělal uživatel náhodou to skrytí repository proto, aby nebylo vidět – a to, že místo něj bude vidět name_backup
asi není zrovna to, co uživatel chtěl? Takže byste stejně musel implementovat nějaké nezobrazování určitých repository, tedy soft delete. A tím se dostáváte do problémů, které jsem popsal. Najednou můžete mít víc smazaných repository stejného jména (takže nemůžete použít unikátní index), musíte mít nějaký jiný identifikátor repository, než jeho název (což se hezky udělá v databázi, ale git se na to asi tvářit nebude). Při obnově repository můžete narazit na to, že repository s daným jménem už existuje. Atd. atd.
Tedy ne, že by to nebylo technicky řešitelné. Soft delete samozřejmě je možné implementovat – akorát to přináší komplikace, které si ten, kdo nikdy nic takového neimplementoval, nemusí uvědomit.
Ano, když udělal někdo z Microsoftu stejnou chybu, věnoval Microsoft úsilí tomu, aby data obnovil. Pravděpodobně to dělal ručními zásahy a riskoval, že vytvoří nekonzistentní stav, tedy že s tím repository bude mít v budoucnosti problémy. Nevíme, jak dlouho trvalo, než dospěli to stavu, že jim opravdu vše fungovalo – hvězdičky mohly být zpět během pár hodin, ale už se nedozvíte, jestli třeba ještě za 14 dní neobnovovali nějaké chybějící reference třeba ve wiki. Nedivím se Microsoftu, že se nechtějí pouštět do experimentů nad cizím repository. Možná právě i po zkušenosti, když tu obnovu dělali kvůli sobě a zjistili, že to vůbec není taková prča, jak si to představují diskutující na Rootu.