Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
EDIT na úvod: z diskuze mám pocit, většina čtenářů si myslí že autoři chtějí HTTP/HTML nahradit. To není pravda: autoři sami uznávají že HTML/HTTP je užitečné, ale myslí si že je na světě místo pro jednodušší protokol. Vysloveně zmiňují multihosting stejného obsahu na Gopheru, Gemini a HTML současně.Cílem při návrhu Gemini bylo, aby základní interaktivní klient zabral cca 50 řádků kódu v moderním vysokoúrovňovém jazyce. Autoři přiznávají že realita začíná kolem stovky řádků, ale zároveň jsou přesvědčení že to pořád platí aspoň řádově. Protokol Gemini je úmyslně navržený tak, aby ho bylo těžké rozšiřovat. Autoři se snaží vyhnout věcem jako hlavičky Referer, User-Agent a pod. které v praxi slouží hlavně k diskriminaci a sledování uživatelů. Popis protokolu Technicky vzato, Gemini:
--> klient <-- server --> gemini://gemini.circumlunar.space --> ==KONEC SPOJENÍ== <-- 20 text/gemini <-- # Project Gemini <-- <-- ## Overview <-- <-- Gemini is a new internet protocol which: <-- <-- * Is heavier than gopher <-- * Is lighter than the web <-- * Will not replace either <-- * Strives for maximum power to weight ratio <-- * Takes user privacy very seriously <-- <-- ## Resources <-- <-- => docs/ Gemini documentation <-- => software/ Gemini software <-- => servers/ Known Gemini servers <-- => https://lists.orbitalfox.eu/listinfo/gemini Gemini mailing list <-- => gemini://gemini.conman.org/test/torture/ Gemini client torture test <-- ... <-- ==KONEC SPOJENÍ==Jak vidíme, požadavek je jen jeden řádek dlouhý, ukončený CRLF. Spojení se v Gemini zavírá ihned, keep-alive neexistuje. Odpověď má dvouznakový (dvě dekadické číslice) stavový kód navržený tak, aby jednoduší klienti mohli přečíst první číslici a jen na jejím základě zpracovat odpověď. Protokol má podporu pro vyžádání uživatelského vstupu (url-encoded, celková délka URL do 1024 znaků), přesměrování a vyžádání autentizace (klientským certifikátem). TLS a certifikáty Gemini počítá s běžným použitím klientských TLS certifikátů. Dokumentace zmiňuje dva typy užití: krátkodobé, na požádání generované certifikáty, a dlouhodobé, které slouží k přihlašování a podobně. Krátkodobé certifikáty jsou zamýšlené jako náhrada session ID, ale oproti cookies vznikají a zanikají když chce uživatel. Klienti by měli mít funkci na snadné vygenerování certifikátu na požádání. Autoři se tím snaží bránit sledování uživatelů. Dlouhodobé certifikáty umožňují identifikovat uživatele bez použití hesel která by se dala prolomit hrubou silou. Klient nemá předepsaný způsob ověřování certifikátů (ani PKI), doporučuje se model "věřím prvnímu co vidím". Rotace certifikátů zatím není vyřešená. Můj názor Cool! Myslím, že zkusím o některém víkendu naprogramovat klienta v Rustu. Opravdu to vypadá, že by to mohlo být za víkend hotové i když to dělá amatér jako já. -- Povinný odkaz na stránky projektu. -- Dodatek ohledně jména Autoři přirovnávají hypertextové protokoly k pilotovaným kosmickým programům USA:
Tiskni
Sdílej:
Ekosystém webu je bezpochyby shnilý a zasloužil by navrhnout a přepsat znovu… Ale Gemini je podle mého krok špatným směrem – je to takové podivné retro, nekompatibiliní, trolling…
Pokud chce někdo pomoci zkrotit komplexitu webu a směřovat současný web trochu příčetnějším směrem, tak bych spíš doporučoval návrat někam k webu 1.0 a XHTML. Prostě staré dobré HTTP z dob, kdy to byl ještě jednoduchý protokol, kde jako klienta šlo použít telnet (případně openssl s_client -connect
) a psát požadavky ručně a (X)HTML jako jednoduchý značkovací jazyk pro popis dokumentů. Pak není problém dělat weby, které lze prohlížet v textových prohlížečích typu lynx/links nebo v jednoduchých GUI prohlížečích jako NetPositive, NetSurf nebo Browser ze SerenityOS a stejně tak si je otevřou i BFU v současných monstrech typu Chromium a Firefox a jejich klonech.
To je podle mého rozumná cesta do doby, než dojde k náhradě webu něčím lepším – a ta náhrada nemůže být úplně jednoduchá, spíš lépe navržená, modulárnější a čistější než ten současný stav, kam jsme postupně doiterovali živelným vývojem a lepením všeho možného dohromady.
XHTML vážně nebylo jednoduché - vždyť je to kompletní XML. Jako jo, skoro nikdo to nepoužíval, ale stejně prohížeče musely implementovat kompletní XSL procesor aby vyhověly standardu. Z doby XHTML si taky pamatuju quirks-mode (přepínaný - absurdně - přítomností DOCTYPE deklarace), sniffování user agenta, "Optimalizováno pro IE6" a podobně. Fakt si nemyslím, že tehdejší web byl o tolik lepší místo, že bychom se k němu měli vracet.
Např. můj blog je psaný v XHTML a dokonce je tam i trochu (velmi málo) JavaScriptu, ale je psaný s ohledem na starší/jednodušší prohlížeče, takže ho můžeš číst třeba pomocí:
lynx https://blog.frantovo.cz/
a můžeš tam i psát komentáře.
Přijde mi užitečnější, když si autor otevře svůj web v takovém prohlížeči a trochu ho poladí, aby tam fungoval, než aby přepínal na úplně jinou nekompatibilní technologii, která je sice v něčem jednodušší, ale z hlediska funkčnosti horší než ten Web 1.0 (spíš mi to přijde pod úrovní původního Mosaicu, něco na způsob Gopheru, který jsme si na VŠ v prváku sice ještě ukazovali, ale spíš jako kuriozitu a dneska v tom fakt smysl nevidím).
Souhlasím s autory, že jestli chtějí vybudovat komunitu, tak musí být nějak uzavřená, pokud si má zachovat svoji identitu.
Když už do něčeho takového investovat čas, tak bych to viděl spíš na nějaké decentralizované distribuované P2P (viz různé ZeroNety, Freenety, GNUNety, IPFS atd. nebo přinejmenším Tor či I2P). To je aspoň kvalitativní posun někam dál a užitečná vlastnost. Ale investovat do nekompatibilní (ale stále jen klient-server) technologie, abych se funkčně vrátil (sotva) někam úroveň začátku 90. let, to mi moc smysluplné nepřijde.
Pokud jde o modulárnost, bojím se, že ta umožnila cestu tam kde jsme teď.
O té náhradě webu nějakou dobu přemýšlím, píšu si k tomu nějaké poznámky a nevím, kdy/jestli se dostanu k implementaci… ale zatím mi z toho vychází, že už ta specifikace by měla být modulární a moduly by měly být seskupené pro lepší přehlednost do profilů. Jde o to, že web se používá pro hodně široké spektrum činností a jsou tam dost odlišné předpoklady a nároky (a z toho plynoucí komplexita). Příklady:
Kdo chce hrát v prohlížeči Quaka, připojovat si USB zařízení a podobné věci, ten zákonitě potřebuje komplexní software resp. bude potřebovat zapnout určité komplexní moduly. Na druhé straně, když si někdo chce jen přečíst novinový či odborný článek nebo zadat platební příkaz v bance nebo objednat zboží v obchodě, tak by žádný komplexní software potřebovat neměl – měl by mu na to stačit holý prohlížeč (jádro) nebo maximálně nějaký jednoduchý modul. Tzn. byl by základní profil (čtení dokumentů), potom profil pro jednoduché aplikace a pak plný profil obsahující všechna multimédia a různé kraviny. A možná ještě něco mezi tím.
Super! Jak můžu zařídit, aby byl takový i zbytek webu? Nebo aspoň poznat, že jdu na podobně ohleduplně napsanou stránku? Poslední dobou mi každý klik na mobilu rozpálí procesor a přenese nekolik MB dat z párGB FUPNapř. můj blog je psaný v XHTML a dokonce je tam i trochu (velmi málo) JavaScriptu, ale je psaný s ohledem na starší/jednodušší prohlížeče, takže ho můžeš číst třeba pomocí:
lynx https://blog.frantovo.cz/a můžeš tam i psát komentáře.
[...] něco na způsob Gopheru, který jsme si na VŠ v prváku sice ještě ukazovali, ale spíš jako kuriozitu a dneska v tom fakt smysl nevidím).Autoři specifikace Gopher opakovaně zmiňují jako inspiraci, a snaží se ho vylepšit.
Když už do něčeho takového investovat čas, tak bych to viděl spíš na nějaké decentralizované distribuované P2P (viz různé ZeroNety, Freenety, GNUNety, IPFS atd. nebo přinejmenším Tor či I2P). To je aspoň kvalitativní posun někam dál a užitečná vlastnost.Tak oni jsou dobrovolníci, plýtvají svým časem podle vlastní libosti
O té náhradě webu nějakou dobu přemýšlím, píšu si k tomu nějaké poznámky a nevím, kdy/jestli se dostanu k implementaci… ale zatím mi z toho vychází, že už ta specifikace by měla být modulární a moduly by měly být seskupené pro lepší přehlednost do profilů. [...]Já to vidím takhle: Uživatelé (rozumně) nechtějí používat hromadu nástrojů které se liší tím, že některé umí část a jiné všechno - používají nástroj co umí všechno. Protože aspoň část klientů vyžaduje kompletní funkcionalitu, servery taky musí mít kompletní funkcionalitu; pokud ji nemají, někdo ji doplní. Ve výsledku umí všichni všechno, a zjednodušené profily jsou v pozici limitovaných, nekompletních protokolů, jenom to pro jejich uživatele je větší loterie, protože nepoznají jestli budou nebo nebudou kompatibilní.
Jak můžu zařídit, aby byl takový i zbytek webu?Jak můžu zařídit, aby všichni byli inteligentní a četli fyzikální papíry? Zní to absurdně, že? Každý autor webu si jej navrhne tak, jak on sám chce. Nemůžeš nikoho nutit, aby to napsal jinak. Můžeš to doporučit, propagovat, vysvětlovat, školit, sám jít příkladem. Navíc, jak jsme se do dnešního stavu dostali? V té pohádkově jednoduché minulosti čistého (x)html, masivně existovaly věci jako flash, activex prvky, java applety apod. Proč? Protože to autoři webu chtěli. Chtěli tu funkcionalitu. Přijde ti to jako "správnější" stav? Tehdejší html to prostě neuměl, tak si lidi poradili jinak. Dodnes někteří brečí, že flash už není podporován. Nejsem propagátor (html5) webu, mám rád nativní aplikace, ale nemůžu být slepý k tomu, co všechno dnes lze dosáhnout pomocí html5. Dřív, pokud firma chtěla udělat seriózní webovou aplikaci, tak musela používat activex nebo java applety. Pro různou validaci formulářů, nebo pro jejich zobrazení atd. Podpora ze strany prohlížeče se řešila mnohem víc než dnes (podpora linuxu prostě nebyla žádná, i na těch widlích to bylo jen o IE). Dnes se to napíše v HTML5. Pokud dřív někdo chtěl udělat nějakou zábavnou stránku, tak sáhl po flashi. Plného bezpečnostních chyb. Dneska na to použije HTML5. Když někdo chce jen předat text, použije HTML5. Jako nelze přece nevidět ty výhody. Buď bude na všechno extra plugin (a v minulosti to došlo tak daleko, že jsem měl v prohlížeči mnoho cizích dll jen proto, abych si zobrazil všechny stránky, které jsem chtěl), což s sebou přináší komplikace v podobě inslalace a hlavně bezpečnosti, nebo to bude nativně v html5. A to se mi jedná hlavně o seriózní programy, třeba pro zobrazení matematických grafů se dřív běžně používalo něco (nevzpomenu si) ještě hodně dávno před WebGL. Dneska, když chceš něco někomu ukázat v Mathematica, tak to pošleš do prohlížeče.
a přenese nekolik MB dat z párGB FUPTak to je ovšem chyba někde jinde a to si vyřiď se svým operátorem. Za to, že tady máme směšně nízké limity (zatímco "přechod" na firemní tarif okamižtě zařídí třeba 40GB limit), opravdu nemohou autoři webových stránek.
app://hra.cz
(technicky protokolem může být klidně třeba HTTPS; pokud by se ale jmenoval jinak, šlo by pro něj v systému snadno zaregistrovat speciální obsluhu). Klikneš na něj, na pozadí se automaticky stáhnou všechny potřebné soubory, spustí se v sandboxu, který bude mít omezená práva, a tobě se otevře nové okno a rovnou to používáš.
Některé aplikace by fungovaly plně offline, jiné by komunikovaly se serverem tak, jako to dělají moderní webové aplikace. Uživatel by měl možnost si aplikaci „nainstalovat“: expirace souborů v lokálním úložisti (cache) by se prodloužila z výchozího např. týdne na nekonečno a vytvořila by se ikona, zástupce.
Aplikacím by bylo možné přidělovat vyšší práva. Existovalo by API, které by řešilo nejběžnější případy. Tak třeba textový editor: ten sám o sobě nemusí mít přístup k žádným souborům. Pokud si ale uživatel nastaví, aby se dokumenty určitého typu otevíraly v editoru, logicky pak při otevření takového souboru aplikace přístup dostane. A stejně tak v případě, že uživatel bude chtít uložit soubor nový, stačí mu předložit systémový dialog pro výběr souboru. Ten pak aplikaci zaručí k vybranému (i zatím neexistujícímu) souboru přístup.
Myslím si, že nemá smysl snažit se vytvořit náhradu za moderní web. Vznikl by tak standard, který možná bude technicky čistější, možná jednodušší a možná modulárnější tak, že by bylo možné snadno implementovat pouze určité jeho podmnožiny, ale stále by se jednalo o platformu, která dohromady míchá principielně zcela odlišné věci. Nepřináší to zjevné výhody a nemá to šanci se prosadit.
Ani ten můj příklad „alternativního historického vývoje“ ale nevede na stav zcela dokonalý. Jasně definuje hranici mezi dokumentem a aplikací a vynucuje, aby cokoliv, co nejde vytvořit jednoduchým HTML a špetkou kaskádových stylů, bylo napsáno jako klasická desktopová aplikace. Jenže to není vždycky dobře.
Versatilita a škálovatelnost moderního webu (teoreticky) umožňuje vytvářet skvělá uživatelská rozhraní. Můžu mít dokument – opravdu dokument, jednu stránku prezentující nějakou informaci – obsahující tabulky, které lze interaktivně řadit kliknutím na záhlaví, mapy, které lze přibližovat, oddalovat a posouvat dle libosti, sekce, které se zobrazí až po kliknutí (spoiler alert), a další prvky.
V čem je problém? Můžu mít samozřejmě „prohlížeč dokumentů“ (což webový prohlížeč původně byl), který umí dělat všechny tyhle věci. Jde o to, že stejné věci pak můžu chtít i v případě, že stavím nějakou daleko komplexnější aplikaci. A pokud by existovalo dělení jen na „weby“ a „aplikace“, ten jemný přechod by možný nebyl.
Tvůj modulární přístup by jej, pravda, umožňoval. Ale jen teoreticky. Prakticky totiž nikdy nevznikne široce respektovaný standard, který by zakotvil, jaký je rozdíl mezi jednoduchým a bohatším dokumentem, nebo kde už začíná aplikace a jaká je její komplexita.
Jakýkoliv uměle definovaný přechod bude příliš ostrý. Nakonec tak můžeš mít jeden komplexní standard, kde by implementace několika modulů měla teoreticky zaručit, že si přečteš noviny v terminálu. Prakticky mediální domy nebude zajímat, jestli porušují nějaký standard.
Osobně jsem dospěl k závěru, že problém s webem není primárně technického, ale společenského rázu. Dává to smysl: web reflektuje společnost a chování a preference lidí, jenže lidi jsou debilové. To se potom není čemu divit, že konzervativněji uvažující lidé preferující přehlednost, efektivitu, funkčnost a rychlost si na moderním webu připadají jako někde na technopárty mezi zfetovanými hovady.
Smysl bych viděl v něčem jiném: prostě ukazovat sílu jednoduchosti, minimalismu a decentralizace. A že to jde i bez všech těch šmírovacích skriptů, vyskakovacích popupů a cookie boxů. Nebo že „nekonečný scroll“ na informačním webu je rakovina. Na jakých technologiích to bude postaveno už tak klíčové není.
Jako, nalejme si čistého vína. Většinu lidí to nezajímalo, nezajímá a zajímat nebude. Cílem je vytvořit ostrůvky klidu, aby se od toho mainstreamu pokud možno šlo držet co nejvíce stranou.
Představ si, že ti na nějakém instant messengeru přijde odkaz ve stylu app://hra.cz (technicky protokolem může být klidně třeba HTTPS; pokud by se ale jmenoval jinak, šlo by pro něj v systému snadno zaregistrovat speciální obsluhu). Klikneš na něj, na pozadí se automaticky stáhnou všechny potřebné soubory, spustí se v sandboxu, který bude mít omezená práva, a tobě se otevře nové okno a rovnou to používáš.
Java něco na ten způsob měla už dávno – jmenovalo se to Java Web Start. Dneska máš zase různé Flatpaky, Snapy atd. nebo mobilní aplikace pro Android. V jedné z předchozích diskusí jsem nahodil otázku, jestli by nebylo jednodušší jen emulovat x86 či jinou platformu a zbytek nechat na autorech aplikace. Běhové prostředí by pak jen poskytovalo framebuffer, zvuk, klávesnici, myš, nějaké blokové nebo objektové úložiště, možná OpenGL… ale implementovat tahle rozhraní (nějakou standardizovanou virtuálku) by bylo možná jednodušší než napsat www prohlížeč implementující HTML5, JavaScript, CSS a všechny související věci.
Web jako platforma je totiž takový dost podivný v tom, že to běhové prostředí (prohlížeč) samo o sobě obrovsky komplexní – pak by člověk čekal, že ta komplexita se odbude tam a aplikace už pak budou jednoduché – ale ne – když podíváš na moderní webovou aplikaci, tak je to složitější a náročnější než třeba enterprise Java.1 Takže ve výsledku máš jak komplexní platformu, tak komplexní aplikace – ten smysl2 se z toho nějak vytrácí. Jinak řečeno: dokázal bych pochopit a přijmout komplexní platformu, pokud by ty aplikace nad ní pak byly úžasně jednoduché. Jenže jednoduché byly možná tak v počátcích webu, kdy si lidi vystačili s HTML formuláři a nějakým lehkým ručně psaným CSS. Dneska si ale nad tou komplexní platformou webaři píší další a další knihovny, frameworky, GUI toolkity, údajně „aby to bylo jednodušší“ a lepí na sebe další a další vrstvy.
Alternativní přístup je, definovat jednoduchou platformu a říct: tady máte virtuálku, má takové a takové rozhraní a uvnitř ní si dělejte, co chcete. Aby se to úplně nevymklo kontrole, tak vám asi uživatel nastaví nějaké limity na počty cyklů CPU a spotřebovanou RAM, ale jinak je ta VM vaše. Někdo by tu aplikaci psal v DOSu, někdo by si tam spustil Linux a hned nad ním tu svoji aplikaci, někdo by tam měl klasickou či minimalistickou distribuci GNU/Linuxu, někdo by si napsal vlastní OS, někdo by si tam pustil interpret JavaScriptu, Pythonu nebo čehokoli jiného… Na první pohled to zní možná moc těžkopádně (proč si pouštět VM kvůli jedné aplikaci?), ale jen do doby, než se podíváš, jak dlouho trvá build moderní webové aplikace (a tím myslím jen frontend), kolik hoven to stáhne z internetu, kolik místa to zabere na disku, jak ti to zavaří procesory a jak velké bloby z toho vypadnou, které si pak chudák uživatel musí stahovat do prohlížeče. Oproti tomu sestavení nějakého minimalistického jádra/zavaděče pro tu standardizovanou virtuálku + aplikace třeba v Rustu by nemuselo trvat déle, spíš by to mohlo být jednodušší a rychlejší.
Nechci zrovna propagovat programování v assembleru, ale doporučuji se pro představu podívat na MenuetOS – jak rychle to startuje a kolik se toho vejde do 1,44 MB obrazu 3,5" diskety. Má to GUI a je tam pěkných pár programů a her… Oproti tomu moderní webová aplikace má klidne 10× víc JavaScriptu (+ různou grafiku, fonty, styly atd.), startuje déle a vyžaduje nesmírně komplexní běhové prostředí typu Firefox nebo Chromium.
Tvůj modulární přístup by jej, pravda, umožňoval. Ale jen teoreticky. Prakticky totiž nikdy nevznikne široce respektovaný standard, který by zakotvil, jaký je rozdíl mezi jednoduchým a bohatším dokumentem, nebo kde už začíná aplikace a jaká je její komplexita.
Myslím, že se tomu říká Progressive enhancement. Jde o to, aby se ten jednoduchý obsah (např. text článku) zobrazil i v minimalistickém prohlížeči, aby ty jednoduché úlohy (např. zadání platby, objednávky či odeslání komentáře) nevyžadovaly komplexní software. Ale aby zároveň ta aplikace či dokument dokázaly využít pokročilejší funkce, pokud jsou dostupné. Tzn. pokud budeš mít skriptovací modul, budeš mít třeba validace formuláře na straně klienta a budeš mít napovídání, takže to pro tebe bude pohodlnější, ale pokud ten modul nemáš, tak ta základní funkčnost bude stále zaručena. Když budeš mít modul pro obrázky, tak uvidíš v článku obrázky, když ne, tak si přečteš aspoň ten článek a zobrazíš si alternativní text. Pro zobrazení interaktivních grafů v internetovém bankovnictví je nějaká komplexita nutná, ale výpis historie transakcí bys měl vidět i v lynxu a měl bys mít možnost tam i zadat platbu, byť to nemusí být tak pohodlné.
Osobně jsem dospěl k závěru, že problém s webem není primárně technického, ale společenského rázu. Dává to smysl: web reflektuje společnost a chování a preference lidí, jenže lidi jsou debilové. To se potom není čemu divit, že konzervativněji uvažující lidé preferující přehlednost, efektivitu, funkčnost a rychlost si na moderním webu připadají jako někde na technopárty mezi zfetovanými hovady.
V tomhle máš pravdu. Ale na globálním trhu těch lidí, kteří to vidí podobně, není až tak málo. Což dokládají i ty pokusy jako tohle Geminni – lidí znechucených současným webem a obecně softwarem (skrze Electron ty webové (zlo)zvyky prosákly i na desktop) bude v absolutních číslech docela dost.
[1] které se kdysi lidi posmívali, jak je složitá – často ti samí lidé, kteří dělali weby a postupně doiterovali k těm současným zrůdnostem
[2] viz můj článek o komplexitě a odstavec začínající „Dalším důvodem, proč dochází k navýšení komplexity je paradoxně snaha ušetřit si práci.“
Layouty a HTML/CSS je jedna veľká katastrofa.
Príklad: chcem 3 stĺpce, ktoré sú inak usporiadané na mobile a inak na desktope. Takže v HTML nahádžem bloky s float left/right pre ľavý resp.pravý stĺpec a nakoniec hlavný obsah s overflow: hidden. Poradie musím dodržať, inak sa nedá obsah dať do príslušných stĺpcov. Tu je prvý problm - HTML musím upravovať podľa toho, ako má web vyzerať, nie je tu oddelenie vzhľadu a obsahu. Ale späť k príkladu. Takže mám 2 stĺpce a strede obsah. Aby mi to celé zostalo v nadradenom elemente musím nadradenému elementu priradiť overflow: hidden. Lenže to zároveň orezáva obsah, takže ak niečo vo vnútri malo napr. tieň presahujúci okraj bude tieň orezaný, pretože pri tvorbe štandardu niekto považoval za rozumný nápad prepojiť orezávanie s pretekaním obsahu. Takže namiesto nejakej vlastnosti, ktorá povie elementu, aby sa zväčšil podľa obsahu musím použiť pseudo selektory :after, :before s display: table, ktoré majú clear: both, aby nebol obsah orezaný, ala zároveň, aby nebol mimo nadradený element.
Príklad: chcem 4 stĺpce, ktoré sa na mobile usporiadajú v inom poradí a majú neznámu výšku elementu - nedá sa (ani s grid layoutom, ani s flexboxom, ani s floatmi).
Alebo povedzme,že používam margin collapse, čo autori považovali evidenene za dobrý nápad. Zrazu potrebujem u nejakého elementu display: flex (alebo grid). Lenže margin collapse automaticky prestáva fungovať pri použítí flex/grid.
Na prvý pohľad je CSS jednoduché, ale reálne je to hack na hacku, kde vlastnosti medzi sebou súvisia neočakávaným spôsobom.
Ešte k oddeľovaniu obsahu od vzhľadu ... dnes to už dávno nie je moderné a niektorí borci píšu HTML takto:
<div class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full"> <div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4"> <div class="sm:flex sm:items-start"> <div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"> </div> </div> </div> </div>
Takže v HTML nahádžem bloky s float left/right pre ľavý resp.pravý stĺpec a nakoniec hlavný obsah s overflow: hidden.To už je naštěstí dávná historie. Dnes už máme Flexbox a Grid, takže stačí jeden element pro sloupec a pak v CSS uvést, kde který bude.
<style> body { display: grid; grid-template: "h h h" "l m r" "f f f"; grid-template-columns: 20% auto 30%; } header { grid-area: h; } nav { grid-area: l; } main { grid-area: m; } aside { grid-area: r; } footer { grid-area: f; } body > * { padding: 1em; margin: 1em; background: #ddd; color: #000; } </style> <body> <header>Hlavička</header> <main>Střední</main> <aside>Pravý</aside> <nav>Levý<br>sloupec</nav> <footer>Patička</footer> </body>
Grid je na papieri pekný, v realite preň nemám využitie. Od gridu som dúfal, že mi umožní poskladať layout tak, ako potrebujem, tj. na mobile nech si viem určiť poradie elemntov ľubovoľne, na tablete nejak inak a na desktope zase nejak inak. Grid síce umožňuje definovať oblasti, do ktorých vložím obsah, ale nemôžem viacero elementov priradiť jednej oblasti bez toho, aby sa neprekrývali. Takže v praxi by som chcel za sebou na mobile (v kóde) elementy .content1
, .content2
, .left1
, .right1
, .left2
a .right2
, pričom majú dynamickú výšku, ale to sa s gridom nedá. Môžem maximálne tak preskupiť left spolu do jedného kontajnera, right tiež, celé toto zabaliť do flexu (lebo grid v tomto prípade nemá žiaden zmysel), ale nedosiahnem požadované poradie na mobile.
Už som strašne dlho webovým vývojárom, ale napriek tomu ma vždy prekvapí, ako sa dá štandard zmršiť pri návrhu, že je prakticky nepoužiteľný. Skoro každá novinka v CSS ma najskôr nadchne, ale vždy keď ju mám použiť skončí to tak, že sa v mojom prípade použiť nedá. Okrem gridu som bol nadšený napr. z calc, ktoré znie na papieri super, kým nepríde na reálne použitie, kedy s tým neviem urobiť nič viac, než som robil v minulosti zabalením elementu do iného elementu. Ok, je to pokrok, ale dúfal som, že sa bude dať urobiť napr. niečo také: height: calc(width/2)
. Samozrejme nedá, takže vždy keď chcem zachovať aspect ratio 2:1 urobím najskôr kontajner s position relative, výškou 0 a padding-bottom: 50% a do neho vložím ďalší kontajner s position absolute, width a height 100%. Vždy keď píšem css pripadám si, ako keby som len lepil hack ďalším hackom.
Alebo som chcel škálovať obsah tak, ako sa škáluje napr. svg obrázok. Ale bol to obyčajný banner, tj obrázok na pozadí + text, ale chcel som zachovať pomer veľkosti textu k veľkosti bannera. Fajn, super, máme vw/vh. Lenže tie sú úplne nepoužiteľné, keď stránka nezaberá presne 100% šírky viewportu. Ak má marginy/paddingy, už je to nepresné. Nebodaj je to v kontajneri s max-width a ešte s rôznymi paddingy a už v tom musím používať čiernu mágiu s calcom.
Alebo chcem schovať / zobraziť element s animáciou. Fajn, však dám tam height: 0 / auto, dám medzi to transition a bude to fungovať. No asi ťažko, pretože medzi auto sa nedá animovať. Môžem si síce pomocou animácii dať na web rotujúci penis, ale jediná vec, na ktorú by som animácie reálne použil sa nedá napísať. Mimochodom animácie nefungujú ani s min-content/max-content. Viem, mal by som používať transform, ale v mnohých prípadoch to nevyzerá moc dobre, okrem toho textúry sú pri animácii s transformom dosť často rozmazané.
Vyriešené to už je tuším je v štandarde (subgrid), ale zatiaľ neviem, či zase nenrazím na niečo, čo mi nedovolí to použiť.
Nechci zrovna propagovat programování v assembleru, ale doporučuji se pro představu podívat na MenuetOS – jak rychle to startuje a kolik se toho vejde do 1,44 MB obrazu 3,5" diskety. Má to GUI a je tam pěkných pár programů a her… Oproti tomu moderní webová aplikace má klidne 10× víc JavaScriptu (+ různou grafiku, fonty, styly atd.), startuje déle a vyžaduje nesmírně komplexní běhové prostředí typu Firefox nebo Chromium.Trochu mi to připomíná nedávnou debatu s kámošem ohledně hry Planet X3. Borec to píše v x86 assembleru, vejde se to na 720kB disketu, psal to asi 2 roky. A má z toho ohromnou radost. A spousta lidí kolem taky. A já taky. Kámoš jen suše prohlásil, že tohle by se v moderním frameworku napsalo za víkend. Což sice míří trochu mimo záměr autora hry, ale je to prostě pravda. Ale mnohem lepší hry se dneska mnohem rychleji píší třeba v Unrealu nebo Unity. Cryengine už je asi pasé. A k té tvé neustále dokola opakované komplexitě. Co je v celku komplexnější? Když si všichni všechno budou psát sami v assembleru, po každé se to vejde na disketu, ale nikdo jiný než autor to nebude umět spravovat, nebo program napsaný v něčem standardním a všechny takto napsané programy potom pojedou ve stejném prohlížeči nebo herním engine? Co se bude lépe spravovat? Tím chci ukázat, že těch metrik je zkrátka hodně. Ty sis vybral jednu z nich a z tohoto úhlu pohledu máš pravdu, ale je otázkou, nakolik je třeba vlastnost "vejde se na disketu" relevantní a zda náhodnou některé jiné vlastnosti (jako třeba že to nikdo další nebude schopen opravovat), nejsou horší.
Když budeš mít modul pro obrázky, tak uvidíš v článku obrázky, když ne, tak si přečteš aspoň ten článek a zobrazíš si alternativní text.Ale to tak přece funguje ne? Proto má každý obrázek alt. Nebo v nejhorším název souboru.
ale výpis historie transakcí bys měl vidět i v lynxu a měl bys mít možnost tam i zadat platbu, byť to nemusí být tak pohodlné.Jako že by banka psala místo jedné verze bankovnictví hned několik podle schopnosti klienta? Nezvýšila by se tím komplexita na straně, kde chceme především bezpečnost a současně by to nic moc nepřineslo? Protože lynxem nechodíš do banky ani ty. Nehledě na to, že každá slušná banka má api pro účetní systémy, kde jsou přesně tato data. Tak se můžeš napojit na tohle.
Nicméně, s tou komplexitou to podle mě bereš moc doslovně a ten MenuetOS byl jen (extrémní) příklad. Franta se asi snažil poukázat na to, že dnes se komplexita zvyšuje naprosto neuváženě – ať už se díváš na komplexitu ve smyslu velikosti, (bezpečnostní) auditovatelnosti, testovatelnosti, a nebo i srozumitelnosti.No já mám s Frantou problém, že ačkoliv má patičku jakou má, tak nediskutuje. Jeho komentáře čím dál tím víc připomínají tiskové prohlášení, které možná nějak i reaguje na vývoj diskuse, ale další diskuse už se neúčastní až do dalšího prohlášení. Škoda.
Často by to šlo s minimálním nebo stejným úsilím udělat výrazně lépe, ale ti lidé to prostě lépe neumí, nebo to pro ně vůbec není priorita.Co to je výrazně lépe? Těch metrik na posouzení je velmi mnoho. Franta (když si ho opět půjčím), tady na mě před rokem reagoval, že jeho celý repositář je menší, než python Click, který používám (dneska teda golang flag) na parsing cli argumentů. Ano, má pravdu, je velikostně větší. Ale je velmi jednoduchý na použití. A má být snad chybou tohle použít jen proto, že je to větší? Není náhodou větší přínos použít hotovou odladěnou (systémovou) knihovnu, místo toho, abychom si všichni psali vlastní řešení v assembleru a bylo to na 100 instrukcí a tedy milionkrát rychlejší (to jedno parsrování argumentů) a plné chyb?
Má smysl na to upozorňovat a snažit se ukazovat, že to jde dělat jinak.To každopádně. Jsem rád za každou takovou skutečnou diskusi.
Když už o tom mluvím, tak z těch povídaček o „předčasné optimalizaci“ už se taky stala dobrá rakovina. Psal jsem před pár lety v práci load balancer, kompletně na zelené louce postavený projekt. Výkonostně to byla absolutně kritická věc, šlo o každou milisekundu. Takže logicky, když jsem psal kód, o kterém jsem věděl, že se bude volat velmi často, zamyslel jsem se nad tím, jestli to bude dostatečně efektivní – alespoň zhruba. Chtěl jsem tam dělat nějakou operaci a zagoolil jsem, jestli už někdo neměřil, jak je rychlá.To už je lepší si na to napsat benchmark a změřit si to sám a dát si pozor na všechny nuance.
Vyskočilo na mě StackOverflow přesně s touhle otázkou („Jak rychlá je operace …?“).Já bych přístup na StackOverflow zakázala, alespoň na prvních 10 let praxe daného člověka. V práci umírám, nikdo se nedívá do oficiální dokumentace (přitom všechny používané programy, jako nginx, postgresql, elastic apod. mají krásnou a přehlednou dokumentaci (o programovacích jazycích ani nemluvě) ani do manu, docu, ale všichni pastnou chybovou hlášku do google, otevřou prvních 6 linků, v rychlosti to proletí a potom do terminálu pastnou první příkaz, který vypadá, že to řeší. U tohodle fakt jednou umřu. Ono to vypadá, že je to rychlejší (a často taky je), ale tímto přístupem jednak vůbec nikdy nebudou vědět, jak daná věc funguje uvnitř (což mě přijde, že dneska stejně nikoho moc nezajímá, prostě je to magie a oni kolem toho kouzlí), jak a proč se má nastavit a co k tomu píšou přímo autoři toho programu. Místo toho ad hoc řeší problém za problémem, v hlavě mají chaos, ale hlavně expertní skill na použití stack overflow.
Chci si ve vteřině vygooglit, jestli to bude dost rychlé.No, jenže to stejně na google nenajdeš. Stačí, když to potom poběží na jiném cpu s jinou architekturou cache (třeba) a bude to úplně jinak rychlé.
Tak jsem si to nakonec změřil sám a bylo to OK.Ano.
Co to je výrazně lépe? Těch metrik na posouzení je velmi mnoho.Já se zeptám jinak. Viděl jsi někdy typickou moderní JS appku? :) Tam se dost často žádné metriky neposuzují. Prostě se to nějak splácá. Nahází se tam závislosti bez ladu a skladu. Často se to už ani nepíše v JS, protože se prostě ukázalo, že JS měl zásadní nedostatky, a tak vzniknul třeba TypeScript, ze kterého se to musí kompilovat. To se nedá vypíchnout jedna věc a říct, že prostě tohle je ten problém. Není to o používání závislostí. Není to transkompilaci do JavaScriptu. Jde o to, že ten celek by měl nějak dávat smysl, být přehledný. Nebo je celkem fajn, když projekt jde zkompilovat bez připojení k Internetu (samozřejmě za předpokladu, že už máš stažené všechny závislosti) – ani tohle některé projekty nesplňují. A prostě tak. Neumím ty zkušenosti/zážitky úplně předat.
Franta (když si ho opět půjčím), tady na mě před rokem reagoval, že jeho celý repositář je menší, než python Click, který používám (dneska teda golang flag) na parsing cli argumentů.Nevím. To není jenom o rychlosti. Představ si, že bys vyvíjel nějaký kritický projekt a teď bys to chtěl celé zauditovat (což teoreticky bys v podstatě dělat měl). Tak každá taková knihovna ti přidá obrovský balík kódu, který musíš projít. Přitom prostě řešíš relativně triviální věc jako je parsování argumentů. Psát znovu to taky nechceš, to chápu. Tohle by se dalo řešit třeba generováním kódu. Pak by ti bylo jedno, jak složitá je ta knihovna jako taková, protože by ti to prostě vygenerovalo sto řádků vanilla Pythonu a ty už by sis prošel v pohodě. Pořád to ale neřeší případ, že třeba se ta knihovna přestane vyvíjet atd. Jako aby bylo jasno, já na tohle nijak vyhraněný názor nemám. Asi klidně bych tu knihovnu použil, kdybych v tom viděl smysl. Ale mám prostě nějakou představu, jak složitý by asi měl program být. Takže třeba napsat malý skriptík a místo pár jednoduchých ifů tam pověsit nějakou monstrózní knihovnu jako závislost mi přijde zhůvěřilost. Ale zase když píšeš něco většího a to parsování argumentů už se tam taky nedá udělat tak jednoduše, protože se tam řeší podstatně složitější případy než
program --akce soubor1 soubor2
, tak už dává větší smysl tu knihovnu použít.
Jde fakt prostě o to, aby to bylo nějak přiměřené. Na tom se tu v diskuzi neshodneme, a ani já sám nemám úplně jasnou nebo nějak konzistentní představu. Ostatně to ani zdaleka neberu zas tak dogmaticky/extrémisticky jako třeba Franta. Teď třeba trochu koketuji s Djangem a v pár momentech jsem si říkal „šmarja, co to tam teď dělá?“. Tak to mi přijde třeba jako taková věc, kterou bych chtěl zažívat co nejmíň. No ale mávnul jsem nad tím rukou, protože hlavně chci, aby to fungovalo. Takže příkladem taky úplně teda nejdu.
Ale stejně je fajn, když se o tom diskutuje, hledá se to optimum a třeba se někde rozdělí jeden obří framework do menších modulů, nebo naopak miniaturní knihovny (příkladem budiž slavný modul euclidean-distance) zmergují do nějaké trochu větší knihovny.
Já se zeptám jinak. Viděl jsi někdy typickou moderní JS appku?Tak snad jo
Tam se dost často žádné metriky neposuzují.Ano, protože nějaká metrika říká, že je to moc náročné a nebo o tom vůbec nikdo neví. (Tj je náročné posuzovat další metriky.)
Jde o to, že ten celek by měl nějak dávat smysl, být přehledný.Jo, to jo.
A prostě tak. Neumím ty zkušenosti/zážitky úplně předat.To se mi teď stalo taky (nejen teď), kdy jsem napsal článek o minimální instalaci linuxu a potom se mě někdo na FB zeptal, co bych mu řekl, kdyby po měl chtěl nainstalovat FTP(S). No, ban jsem mu nedal, ale co na to jako chceš říct?
Představ si, že bys vyvíjel nějaký kritický projekt a teď bys to chtěl celé zauditovat (což teoreticky bys v podstatě dělat měl). Tak každá taková knihovna ti přidá obrovský balík kódu, který musíš projít. Přitom prostě řešíš relativně triviální věc jako je parsování argumentů.Já mám s tímhle problém. Zkusím to nějak vysvětlit. Jako nikdy jsem nepracoval na úrovni, že by bylo potřeba auditovat nějaký projekt apod. Ale v praxi jsem často narážel na různá "zabezpečená prostředí" (kam se šlo dostat) na různé interní předpisy apod. Vždycky to byl strašnej bordel, protože nikdo to prostředí neznal a všichni se jen oháněly papírama. Ale odpověď na otázku: Předpokládám, že když to má být auditovatelné prostředí, tak je zcela nepřípustné, aby si tam prostě někdo nakráčel jen tak s pythonem, ale prostě bude předepsaná knihovna, které je potřeba se striktně držet. Jinými slovy vůbec nenastane situace, že bude z čista jasna náhle potřeba auditovat Click.
Psát znovu to taky nechceš, to chápu. Tohle by se dalo řešit třeba generováním kódu. Pak by ti bylo jedno, jak složitá je ta knihovna jako taková, protože by ti to prostě vygenerovalo sto řádků vanilla Pythonu a ty už by sis prošel v pohodě. Pořád to ale neřeší případ, že třeba se ta knihovna přestane vyvíjet atd.Ale viz výše, tohle vůbec nepotřebuješ řešit. Knihovny máš jasné dány. Jako tohle je způsob uvažování, který mám největší problém předat. Já prostě eliminuju proměnné, nebo spíše dimenze stavového prostoru. Já se nechci zabývat milionem os, cokoliv jde omezit, omezím. Příklad třeba na HW: jaká je maximální možná konfigurace? Jde to použít? Fajn, vyřešeno. O jeden problém méně. A než mě zase někdo hodí do mlýnku na maso, tak jde o kontext. Nejde o nejdražší HW dostupný na celém světě, ale ten v kontextu daného problému. Tj třeba pro sebe si vybírám HW na desktop přesně tímto stylem. CPU AMD Ryzen, deska, paměť, hotovo (stejně je s tím pokaždé boj, protože to neustále přejmenovávají). Pro x86 server totéž. Stejně se tam člověk dostane někam k 600 tis. a zbytek jsou zbytečnosti. Softwarový a ještě k tomu auditovatelný projekt dtto. Někdo jistě vymezil hrací pole.
Takže třeba napsat malý skriptík a místo pár jednoduchých ifů tam pověsit nějakou monstrózní knihovnu jako závislost mi přijde zhůvěřilost.Já zas nevím, proč tam mít ty ify. Pokud mám na něco zavedenou knihovnu, tak ji použiju všude. Zjednoduší to údržbu. V golangu mám všude flag. I tam, kde jsem dříve měl jen switch (protože golang umi switch na stringy). Prostě parsing os.Args []string má na starosti flag. Vždy a všude. Nemusím přemýšlet nad tím, co tím pokusem o DFA jsem kdysi zase ve své chvilkové genialitě myslel. (Aneb sám autor je svým největším nepřítelem
Na tom se tu v diskuzi neshodnemeTak ono to asi není o tom se shodnout, ale pokecat, ne?
nebo naopak miniaturní knihovnyNa to často narážím právě v golangu, standardní knihovna je celkem minimální, ale stačí, ale spousta udělátek tam chybí. Jsou to věci na tři řádky a to je právě odpověď ze strany golangu. Je to na tři řádky, do stdlib to nepatří. No jo, ale potom to má každý projekt uložené někde v utils, každý to má pojmenované jinak a to je celkem známka toho, že to do knihovny patří. Jenže potom by z toho mohlo vzniknout, já nevím, php
A k té tvé neustále dokola opakované komplexitě. Co je v celku komplexnější? Když si všichni všechno budou psát sami v assembleru, po každé se to vejde na disketuVždyť tam píšu, že nepropaguji assembler, jinde zase zmiňuji Rust. Šlo o to mít řádovou představu – uvědomit si, že i když stavíš na primitivní platformě resp. instrukční sadě (která je o několik úrovní pod API webového prohlížeče) a máš jen 1,44 MB, stále můžeš udělat mnoho. Psát aplikace v assembleru fakt za smysluplné nepovažuji a i u těch operačních systémů je to na pováženou (spíš nerozum – v assembleru toho stačí napsat fakt minimum). Reálně by se to psalo v nějakém vyšším jazyce – Rust, Java, C++, D, Go… což by oproti assembleru nějakou režii přineslo, ale stále dost malou.
ale nikdo jiný než autor to nebude umět spravovat, nebo program napsaný v něčem standardním a všechny takto napsané programy potom pojedou ve stejném prohlížeči nebo herním engine? Co se bude lépe spravovat?
Tím chci ukázat, že těch metrik je zkrátka hodně. Ty sis vybral jednu z nich a z tohoto úhlu pohledu máš pravdu, ale je otázkou, nakolik je třeba vlastnost "vejde se na disketu" relevantní a zda náhodnou některé jiné vlastnosti (jako třeba že to nikdo další nebude schopen opravovat), nejsou horší.
Ano, tohle jsou klasické argumenty pro použití vyššího programovacího jazyka případně nějakého frameworku. Já s tím v zásadě souhlasím, ale jak píšu i v tom svém článku:
Komplexita počítačových systémů tak po celou dobu historie našeho oboru stoupá a vrší se na sebe další a další vrstvy s jakýmsi nejistým příslibem, že by vývoj softwaru měl být jednodušší. Tuhle myšlenku jako takovou nechci rozporovat a v principu s ní souhlasím – vhodně navržená abstrakce nebo vyčlenění části kódu do nějaké znovupoužitelné komponenty, knihovny či frameworku práci ušetří a taky může zvýšit spolehlivost či bezpečnost systému. Důležité ale je nezapomínat, proč to děláme a na jakém předpokladu naše rozhodnutí (přidat tu či onu závislost) stálo. Tento předpoklad bychom měli průběžně testovat – a pokud zjistíme, že platit přestal, tak z toho vyvodit patřičné závěry.
Nejpozději ve chvíli, kdy ty předpoklady a přísliby zjednodušení a ulehčení vývoje přestávají platit, bychom se měli zastavit a zamyslet. A v praxi právě vídám, že se to děje (to selhávání; zamyšlení už méně často). Mám tu třeba moderní webovou aplikaci, má to asi tři čtvrtě milionu řádků kódu + se k tomu při buildu stahuje kilometr knihoven z internetu, o kterých nikdo nic moc neví a studenti a Indové, kteří je před lety napsali, jsou už dneska bůhví kde. Původní autoři aplikace se rozutekli, dneska na to nechce nikdo sáhnout ani dvoumetrovým klackem, udržovatelnost je zoufalá – přestože je to vysokoúrovňový jazyk a moderní frameworky staré jen pár let, bylo kolem toho spousta řečí, jak tohle je budoucnost, mentoroval a školil to tam tehdy známý machr na JavaScript a weby vůbec… fakt to není žádná dávná historie, jen pár let zpátky, tohle by nemělo být „legacy“, jenže je. A bohužel si myslím, že to ve světě webu není výjimka. Jakkoli to zní absurdně, to už bych snad radši najal ruského hackera a nechal ho psát assembler. Když vidíš, kolik času se propálí na úlohách typu „přidat tlačítko“ nebo „upravit formulář“, tak bys taky brečel. Autor MenuetOS dost možná ty svoje aplikace rozšiřuje s větší efektivitou – navzdory assembleru.
Znovu opakuji, že nevolám po tom, aby se aplikace psaly v assembleru, ani v céčku ne. Rozumná cesta jsou ty vyšší jazyky, ale to rozhodně neznamená totéž, co moderní web.
Ale to tak přece funguje ne? Proto má každý obrázek alt. Nebo v nejhorším název souboru.
Ano, v případě obrázků to funguje – to se tam zachovalo z dob starého webu. I když taky ne úplně – je např. hodně obchodů, kde se vůbec nenačtou obrázky, pokud nepovolím načítání JavaScriptů z nějaké CDN třetí strany (ty obrázky jsou klidně hostované lokálně, ale o jejich načítání rozhoduje JavaScript, který závisí na jiném JavaScriptu z té CDN). Spousty formulářů nejdou odeslat nebo se vůbec nezobrazí (bez externích JavaScriptů), přitom pro základní funkci, by stačila technologie 90. let a i po 56kbps modemu by se to načetlo a odeslalo celkem pohodlně. Ano, validace na straně klienta a napovídání jsou fajn, teoreticky, ale i když máme dnes řádově výkonnější procesory, řádově víc RAM a mnohem rychlejší linky, tak to často funguje tak mizerně, že kdybys poslal v (X)HTML4 požadavek po modemu na server a zase zpátky, že by to nebylo o moc horší.
Šlo o to mít řádovou představu – uvědomit si, že i když stavíš na primitivní platformě resp. instrukční sadě (která je o několik úrovní pod API webového prohlížeče) a máš jen 1,44 MB, stále můžeš udělat mnoho.Ale to přece nikdo nezpochybňuje. Já jsem začínal na stroji československé výroby, který byl obšlehnut v Velké Británie a měl k disposici celých cca 48KB paměti pro program v BASICu. Stroje před tím měly třeba 4KB. Ano, dá se udělat hodně a je potřeba si taky uvědomit, že tohle nebyl průměr, tohle bylo špičkové dílo a ukázka maxima (v podstatě něco jako demo scéna). Průměrný program ani v té době takto rozhodně nevypadal.
Reálně by se to psalo v nějakém vyšším jazyce – Rust, Java, C++, D, Go… což by oproti assembleru nějakou režii přineslo, ale stále dost malou.No však v tohle se dneska píše.
Komplexita počítačových systémů tak po celou dobu historie našeho oboru stoupá a vrší se na sebe další a další vrstvy s jakýmsi nejistým příslibem, že by vývoj softwaru měl být jednodušší.Tohle mi přijde takový cherrypicking. Ano, v některých oblastech to tak je, ale je potřeba analyzovat proč. Dneska už máme "s počítači" daleko více zkušenosti a i když jsou všechny jazyky Turingovsky úplné, tak přece jen píšeme v Rustu, Go, Javě, C++ a ne třeba v COBOLu. Přesto, že v tom jde napsat zcela totéž. Jenže není jen jazyk a paradigma, ale taky člověk. Proto je tolik syntaxí a přístupů, protože potřebujeme z člověka extrahovat myšlenku a dát ji do podoby programu. A v některých jazycích to jde lépe. Já jsem třeba fakt rád, že dneska hlášky od kompilátoru nejsou jako v době mého mládí: SYNTAX ERROR. Dnešní error reporting je tak komplexní, že by se sám o sobě nevešel ani do těch 48KB.
A v praxi právě vídám, že se to děje (to selhávání; zamyšlení už méně často). Mám tu třeba moderní webovou aplikaci, má to asi tři čtvrtě milionu řádků kódu + se k tomu při buildu stahuje kilometr knihoven z internetu, o kterých nikdo nic moc neví a studenti a Indové, kteří je před lety napsali, jsou už dneska bůhví kde.Hele, mě tohle taky sere, ale problém není v těch studentech a Indech. Problém je jinde. Spousta věcí, a to i v IT, se dělá prostě jen proto, aby se to dělalo. Měl jsem tu čest poslat do prdele šéfa, který chtěl neustálou změnu a růst. Tak jsem mu dal analogii, že je to jako kdyby řval na horolezce, že Everest není cíl a že má lézt ještě výš, nemá zůstávat na místě. Nepochopil to.
fakt to není žádná dávná historie, jen pár let zpátky, tohle by nemělo být „legacy“, jenže je.Dobře, předpokládám, že to mělo projekt, návrh, analýzu, někdo to podepsal, chválil. Ne? Aha.
Jakkoli to zní absurdně, to už bych snad radši najal ruského hackera a nechal ho psát assembler. Když vidíš, kolik času se propálí na úlohách typu „přidat tlačítko“ nebo „upravit formulář“, tak bys taky brečel.Opět, ten tým někdo vede, někdo to takto chce. U nás, vytvořit celý nový celkem pěkný formulář byla pro proga otázka cca 30minut. S mnoha tlačítky. Jinak, já momentálně spolupracuju s Bělorusama a hádej, proč si je někdo vybral. Nejsou špatní, to ne, pracuje se mi dobře, ale hádej proč? Když to někdo není ochotný zaplatit, tak dostane přesně to, co odpovídá ceně.
Autor MenuetOS dost možná ty svoje aplikace rozšiřuje s větší efektivitou – navzdory assembleru.Protože je na to sám, geniální, vyzná se v tom apod.
Rozumná cesta jsou ty vyšší jazyky, ale to rozhodně neznamená totéž, co moderní web.A co to konkrétně znamená? Prosím o příklad. Že na straně klienta nebude Chrome, ale co? Protože na straně serveru se přesně to co píšeš děje. Weby běží v pythonu, golangu (možná i v rustu, nevím), já jsem svůj první web kdysi napsal v C (protože jsem nic jiného neuměl a rozjel jsem si Apache, GCI, a C). Ale weby mohou taky na straně serveru běžet v java scriptu (node js). A na straně clienta máš ... java script. Tj jak backend tak frontnd je v jednom jazyku. Pro storage máš něco jako elastic nebo mongo, kde je vyhledávacím jazykem, světě div se, javascript. To mi přijde celkem málo komplexní, nemyslíš si?
je např. hodně obchodů,Hele, tak napiš ultra super e-commerce bazmek a všichni ti urvou ruce. Za tohle se platí šílené prachy.
ale o jejich načítání rozhoduje JavaScript, který závisí na jiném JavaScriptu z té CDN)Což je super, protože kdyby se obrázky měly načítat z původního místa, kde běží ten backend, tak je možná nikdy neuvidíš. Obrázky jsou na distribuovaných CDN z jistého dobrého důvodu.
Ano, validace na straně klienta a napovídání jsou fajn, teoreticky, ale i když máme dnes řádově výkonnější procesory, řádově víc RAM a mnohem rychlejší linky, tak to často funguje tak mizerně, že kdybys poslal v (X)HTML4 požadavek po modemu na server a zase zpátky, že by to nebylo o moc horší.Ale za to nemůže ta technologie. Ano, viděl jsem tuny mizerných JS našeptávačů a taky pár opravdu super. Jako já obecně chápu, co chceš říct, ale vidím ty příčinu jinde. Ta technologie za to nemůže. Ve FF se dá udělat krásný web, co bude mít minimální nezbytnou velikost. Nebo to taky někdo v neděli večer na brigádě rychle nakliká v něčem, co možná trochu zná, protože v pondělí to má běžet a on ty prachy potřebuje. (A podobné analogie ve firmách, kde se to dělá vlastně stejně, protože lidi na příslušných úrovních neznají technologie a nejsou schopni to podle toho navrhnout. A nejdůležitějším aspektem je mít plný výkaz a repositář, protože kdy by se třeba týden jen přemýšlelo, tak by se asi zhroutil svět.)
Rozumná cesta jsou ty vyšší jazyky, ale to rozhodně neznamená totéž, co moderní web.Jinak, ještě k tomuto. Přijde mi, že ty z nějakého důvodu v diskusích často ignoruješ některá již existující řešení a hledáš problémy tam, kde nejsou. Možná to děláš z diskusních důvodů, potom ok. Možná jsem to jen pochopil špatně a máš tím na mysli něco jiného, ale dnešní web nemusíš konzumovat jen v prohlížeči. Webserver ti poskytuje nějaké api exportované pomocí http protokolu. Co s tím uděláš je tvoje věc. Třeba příklad, já se na youtube prakticky vůbec nedívám na youtube.com. Jako jo, občas to proklikám, najdu nové kanály apod. To jo. Ale drtivou většinu videí sleduju offline po jejich stažení přes youtube-dl, do mé fronty si naházím videa (typicky rovnou celé kanály nebo playlisty) a potom to sleduju v přehrávači videa (windows, linux, ntb v kuchyni, tablet na wc). Dříve přes plugin v KODI. Nebo v nativním klientu na iPadu. A takto můžeš sledovat i weby s textovými informacemi. Prostě si stahuj články třeba přes rss, nějak je transformuj, vytiskni na toaleťák a po přečtení použij. Prohlížeč není povinnost. I ty eshopy jedou nad nějakým api (pravda, jednotlivce tam nepustí) a sklady apod. komunikují takto. Ostatně i na abclinuxu, nejdřív si přečtu emailové notifikace a potom se rozhodnu, na který komentář zareaguji. Já tady vůbec nebrouzdám.
Což je super, protože kdyby se obrázky měly načítat z původního místa, kde běží ten backend, tak je možná nikdy neuvidíš. Obrázky jsou na distribuovaných CDN z jistého dobrého důvodu.
Ne, obrázky se načítají, jsou hostované jinde než ten JavaScript, ale když blokuji CDN, u které hostují ten JavaScript, tak se nenačtou ani ty obrázky. Viz odpověď v novější diskusi.
...Dává to smysl: web reflektuje společnost a chování a preference lidí, jenže lidi jsou debilové...Jestli to není spíš přesně naopak. Vymlouvat se na stav lidské společnosti ve vztahu k technologiím je spíš lenost a alibismus. Proč ti superinteligentní programátoři zvládnou udělat jen věci vytvořené pro "debily"? Protože jsou to lenoši, kterým stačí jejich výplata a je mnohem jednodušší si stěžovat na ostatní. Představ si, že by podobně jako IT fungovalo stavebnictví nebo doktoři. Jako, nalejme si čistého vína. Dokud nebudou mít programátoři žádnou zodpovědnost za to co dělají, nikdy nic pořádného nevznikne.
Legislativa, ze které pak vychází např. již zmiňované cookie boxy, má prapůvod u voličů, převážně neprogramátorů.Tak s tímhle budu ostře nesouhlasit. Web nepotřebuje cookies. Nepotřebuje. Jen pro přihlášené uživatele* a to nejsou všichni. Ten cookie box trolling, co každý den vidím na webu, je prostě jen trolling ze strany těch webů. 4 stránky "třetích" stran (už jsem viděl i stránky, které to měly nekonečné - nebo mi prostě po 15 stránkách došla trpělivost) a k tomu ještě oprávněný zájem. Některé weby to mají v takové barevné kombinaci, že není poznat, co je zapnuté a co vypnuté. To je to samé jako GDPR. Plynárny mi poslaly formulář pro souhlas. Bylo tam asi milion věcí a nic nesouviselo s dodávkami plynu. Na to se GDPR nevztahuje, to je smluvní vztah. Plynárny vůbec nepotřebují řešit GDPR. Fakturační adresu ať skartují ve chvíli, kdy už podle zákona nebude potřeba dál archivovat účetnictví. Vyřešeno. *) A dejme tomu, pro nějakou další funkci, pokud ji web obsahuje. Může tam být varování "pro trvalou změnu vzhledu potřebujeme uložit cookie, přepnutím vzhledu souhlasíte s uložením konfigurační cookie".
Samozřejmě, že ty weby by to v ideálním případě vyžadovat neměly, ale snad muselo být každému jasné, že to skončí takhle.Tak po zkušenostech ano, ale viz výše. Úplně by stačilo, kdyby to dodržovali. Viděl jsem restaurace, kde měli tak dobrou ventilaci, že jsi vůbec necítil kuřáka u stolu vedle. Jak by se to hodilo v době covidu. Třeba by měli restaurace otevřeno a nikdo by se nenakazil, protože by měli standardní vzduchotechniku. Takto nemají ani kuřáky, ani nekuřáky.
(tj. pod hrozbou násilí)Nežerte toho Urzu zas tolik.
Dnes je z ní klubovna a pro vstup je nutné stát se členem.Což je naprosto v pořádku a mohli to tam udělat i před tímto opatřením.
Polož si otázku, jestli by ti přišlo normální vlézt někam do hospody se samopalemNe, nepřijde mi chodit normální chodit do hospody se samopalem.
Pokud nepřišlo, tak proč obhajuješ takový zákon?Já jsem to částečně vysvětlil už v předchozím komentáři a docela obsáhle v článku (2017).
Nežerte toho Urzu zas tolik.Nesleduju Urzu. Jsem pragmatický libertarián, ne anarchokapitalista.
Což je naprosto v pořádku a mohli to tam udělat i před tímto opatřením.A nebo si každý mohl před vstupem do kuřácké restaurace v hlavě podepsat papír „ano, vstupuji do kuřácké restaurace, bude se tam kouřit“ a mohli jsme si ušetřit jeden naprosto zbytečný zákon. Zákon, který ale musí někdo vymáhat. Na tohle se potom pálí daně.
Ne, nepřijde mi chodit normální chodit do hospody se samopalem.A přitom policii, která se pod hrozbou násilí bude snažit dodržování zákazu vynutit, tam pošleš klidně.
Ano rozhodně je omezením svobody, že někdo nemůže prodávat vodu s arsenem a plnou bakterií. Ale je to snad špatně?Nesmí to prodávat jako pitnou vodu. Vyžadovat korektní označení produktů je odůvodnitelné a má to pro hladký chod společnosti zcela zjevný význam. Kuřácké restaurace označené byly, nemluvě o tom, že vstoupit do ní omylem a okamžitě odejít nezpůsobí měřitelné poškození zdraví snad ani nejtěžšímu astmatikovi.
Je špatně to, že nás nezabije elektrický přístrojVe Spojených státech by jim jistě vadilo, že dodané elektrické křeslo neplní svou funkci. Opět jde jen o to, aby byl produkt řádně označen.
a že plynové přístroje v našich domácnostech procházejí pravidelnou kontrolou?Plynový přístroj může způsobit otravu nebo explozi. Tím může velmi snadno dojít k ohrožení nevinných osob, které za zanedbání stavu přístroje nenesou zodpovědnost a nemusí si jej být ani vědomi. Může dojít k výbuchu v bytovém domě, který poškodí i další byty a ohrozí jejich obyvatele. Může zemřít člověk, který k němu přišel na návštěvu. V prvním případě se jedná o nedbalostní jednání, které ohrožuje životy a majetek jiných lidí. Ve druhém případě se opět jedná o problém s korektním informováním. Člověk by měl být varován, že vstupuje do budovy, kde už 10 let nikdo nekontroloval starou plynovou karmu. Takže buď můžeme vynucovat povinnost zřetelně označit budovu, která nesplňuje elementární bezpečnostní standardy, a vyžádat si souhlas vlastníků všech nemovitostí, které případnou havárií mohou být dotčeny, a nebo zavést plošnou povinnost pravidelných revizí. Se vstupem do zřetelně označené kuřárny to nelze srovnávat.
David Ježek napsal:To je jako si stěžovat, že jsem si šel dát limonádu na střelnici a považte, nějaké hovado tam střílelo!Já jednoznačně souhlasím se zákazem kouření v restauracích. Když si takhle člověk jde s kamarády dát dobrou mexickou kuchyni v Berouně a 1 minutu poté, co nám to dají na stůl, si to hovado bez mozku sedící hned za mými zády zapálí, protože přece cigárko po každém obědě je nutné, tak stojí celý oběd v ceně 350Kč za hovno.
Ta regulace tu není kvůli slušným lidem, těch se nijak nedotkne. Tak je tu kvůli zmrdům, co obtěžují ostatní. Kdybych chtěl být vtipný, tak bych navrhoval zavést pouliční hlídky á la Gestapo a každý kdo uvidí někoho kouřit tam, kde nesmí, má právo mu beztrestně vrazit facku.A přitom by stačilo místo plošného zákazu kuřáckých restaurací zavést hlídky, které by každého retarda, jako tady pana Ježka, který dobrovolně leze někam, kde ví, že se bude kouřit, i když tam být nemusí (může jít jinam, uvařit si doma, jídlo si objednat s sebou, …), a pak si zuřivě stěžuje, když fakt se tam kouří, zbavili svéprávnosti, vstup do kuřáckých restaurací mu zakázali a vymáhali jeho dodržování.
kde ví, že se bude kouřitNo to právě neví. To že ty označuješ restaurace jako kuřárny je pouze tvůj názor, který se neshoduje s realitou. V restauracích bylo vždy nějak omezené kouření (alespoň na některé hodiny) a vždy patřilo ke slušnému vychování si nezapálit, pokud tam někdo jí. Takže, pokud se jde David najíst do Mexické restaurace, vůbec nemůže automaticky očekávat, že mu tam někdo bude hned vedle u stolu kouřit. Což je minimálně společensky neslušné. Někde jsi tady napsal přání, že by se nemělo radikalizovat a že by lidé spolu měli komunikovat. Tak prosím, příště si zkus odpustit absurdní poznámky. Pokud si někdo na střelnici dá limonádu, tak je primárně na střelnici a až potom v nealko prodejně. Pokud někdo jde do restaurace, tak se tam jde primárně najíst. Proto se to jmenuje restaurace a nikoliv kuřárna. Ano, můžeme mít něco jako "cenové skupiny", kde u těch vyšších bude očekáván nějaký standard a do páté si klidně choďte třeba blejt. Ve druhé cenové se rozhodně nekouřilo, číšníci tam chodili v obleku. Dneska to klidně můžeme dělit na ty kluby. Předpokládám, že v metalovém klubu se nevaří a pokud ano, tak s tím stejně všichni souhlasí, takže není problém. Ale on ten článek byl zcela o něčem jiném. Několikrát jsem tam psal, že nejsem pro zákaz kouření, to jsi nějak zcela pominul. Psal jsem, že provozovatelé těch restaurací sami pro sebe mohli udělat taková opatření, že tam třeba bude ventilace, a David by vedle kouřící osobu vůbec necítil. A tudíž by se nemusel dělat plošná zákaz, protože problém by přestal existovat. Tohle byla pointa. A zcela stejná situace je s těmi cookie bary, kterými začala tato diskuse. Autoři webů si místo skutečného řešení vybrali snad tu nejhorší možnost. Pokud přijde nějaké zpřísnění, můžou si za to sami.
Proč Potěmkinovou? Kluby se členy se vstupem pouze pro zvané existují "staletí".Protože to není klub se členy se vstupem pouze pro zvané, ale klub, který přijme a pozve kohokoli, a to velmi jednoduše vyplněním přihlášky. Jinými slovy to je fyzicky úplně stejné jako před tím, jenom musíš u vstupu vyplnit „přihlášku“ (nebo dokonce vůbec nemusíš, protože tu přece stačí vyplnit jen jednou, a obsluha si nemůže pamatovat všechny členy, aby tě vyhodila pokud jsi tam vlezl a vlastně členem nejsi).
Proč detaily? Je snad změna právní formy z osvč, sro, as, jen detail?Pokud ti jde o nějaký vliv na společnost, a ten se takovou změnou nezmění, tak to je detail.
Pokud ti jde o nějaký vliv na společnost, a ten se takovou změnou nezmění, tak to je detail.Nejde.
O zavedení jasného minimálního standardu pro provozovny určitého typuAha, takže je to v podstatě etymologický spor? (typu „manželvství je svazek muže a želvy, pokud chcete mezi někým jiným, říkejte tomu fň“ („v hospodě se nekouří, pokud tam chcete kouřit, říkejte tomu klub“))
Proč nikdo z restauratérů neřekl pojďme udělat "čistý prostor třídy 1"?Jak neřekl?! Takových restaurací byla spousta, restauratér deklaroval, že je „nekuřácká“, a tím se přesně tohle stalo.
Někde jsi tady napsal přání, že by se nemělo radikalizovat a že by lidé spolu měli komunikovat. Tak prosím, příště si zkus odpustit absurdní poznámky.Pro mě je radikalismus plošné zakazování kuřáckých restaurací. Pohostinství je doplňková služba, bez které se lze triviálně obejít, a navíc existuje obrovská konkurence. Stačí tam nejít nebo jít jinam. Pokud něco zakazuji na celostátní úrovni, tak bych měl být skálopevně přesvědčen o tom, že to tak je vždycky a vůči všem dotčeným osobám a oblastem správně. Že neexistuje támhle nějaká Horní dolní, kde mají kuřáckou i nekuřáckou restauraci, obě se uživí, obě mají volnou kapacitu pro příchozí hosty a všichni jsou spokojení. Že neexistuje nekuřácká restaurace, která má uvnitř kvalitně odvětrávaný kuřácký salonek. Dával jsi příklady s různými bezpečnostními normami, kde je často problém vůbec vymyslet byť teoretické, ale smysluplné příklady, proč by to tak být nemělo. Proč by si někdo mohl chtít koupit otrávenou vodu, která je označená jako obyčejná pitná voda? Proč by si někdo chtěl koupit toastovač, který ho může zabít, aniž by o tom věděl? Na tom panuje velmi vysoká shoda, s největší pravděpodobností ve všech regionech skoro stejná. A přímo se to dotýká každého jednoho člověka, který si občas kupuje vodu, nebo elektrospotřebič. Kdyby si někde na vesnici udělali referendum a ten zákaz si odhlasovali tam, tak budiž. Nemůžu vyloučit, že nemohou existovat okolnosti, kdy by to třeba bylo odůvodnitelné. Spíš si to nemyslím, pořád nevidím důvod, proč by si to nemohl rozhodnout každý sám za sebe a podle toho do kuřáckých hospod buď chodit nebo ne, nicméně třeba nějaký případ existuje. Co já vím. Ale tohle je prostě diktatura většiny. Uplatnilo se to na celé území České republiky, všude stejně, bez ohledu na to, jaký je názor místních atd. Co třeba někde v pohraničí? Lidi běžně chodí přes hranici, chvíli jsou v Česku, pak v Rakousku nebo Polsku… A najednou platí jiné zákony. Neměla by se kvůli tomu třeba vyhlásit válka? Že prostě „a u vás se taky v hospodách kouřit nebude a hotovo!“? Já si myslím, že určitě měla, pokud je to skutečně tak zásadní věc.
Pro mě je radikalismus plošné zakazování kuřáckých restaurací. Pohostinství je doplňková služba, bez které se lze triviálně obejít, a navíc existuje obrovská konkurence. Stačí tam nejít nebo jít jinam.Kralyk měl v minulé diskuzi dobrý argument, že tam může chodit okolí a ty nechceš být sociálně izolován. Je to podobné, jako když si myslím, že by se mělo něco udělat s de-facto monopolem Facebooku/Googlu/Stravy/... na komunikaci - i když to samozřejmě „můžu“ nepoužívat.
Z úplně stejných důvodů by se mohlo zakázat třeba servírování alkoholu.Osobně mi přijde mnohem menší peer pressure na to v hospodě pít než na to tam být (pasivní kouření zažíváš tím že tam jsi).
Pro mě je radikalismus plošné zakazování kuřáckých restaurací.Jinými slovy, pokud se zakazuje něco, co zrovna ty nechceš. Aha. Čekal jsem systémovější odpověď.
Pohostinství je doplňková služba, bez které se lze triviálně obejítTo naprosto souhlasím, stejně jako kuřárny jsou doplňková služba, bez které se lze obejít. Mohou si kouřit doma, nechat si dovézt kuřácké potřeby balíkovou službou apod.
Pokud něco zakazuji na celostátní úrovni, tak bych měl být skálopevně přesvědčen o tom, že to tak je vždycky a vůči všem dotčeným osobám a oblastem správně.Sám jistě víš, je kvantifikátor všem je nesplnitelná podmínka ale hlavně netvařme se, že současný stav je nějak výjimečně správný a nový stav nějak špatný. Toto mi vadí na konzervativcích, že se brání jakékoliv změně a považují aktuální stav za "pevně daný", přitom i tento stav má své problémy (proto se taky navrhují změny). Předchozí řešení nebylo dobré. Omezení kouření v restauracích už bylo zavedeno a nikdo to nedodržoval.
Dával jsi příklady s různými bezpečnostními normami, kde je často problém vůbec vymyslet byť teoretické, ale smysluplné příklady, proč by to tak být nemělo.No to teda není, o jakoukoliv změnu v normách se vedou obrovské technické diskuse. Protože spoustu věcí jde udělat lépe, na spoustě místech už je to udělané lépe a nová verze normy se musí trefit někam mezi, aby neomezovala ten už lepší stav a současně jej zlepšila jinde. (Bezpečnostní) normy jsou psané krví a při každé diskusi se objeví příklady z praxe, kdy to někdo krví skutečně zaplatil a požaduje další zpřísnění. Tj příkladů na každou normu je hromada.
Proč by si někdo mohl chtít koupit otrávenou vodu, která je označená jako obyčejná pitná voda? Proč by si někdo chtěl koupit toastovač, který ho může zabít, aniž by o tom věděl?No on si to asi nikdo nechce koupit, ale někdo to chce prodávat. Vůbec nechápu, proč jsi otočil směr. Příklad s arzenem tady nedávám jen tak pro srandu. Stejně jako v minulosti byla na trhu hromada probíjejících výrobků. A někdo je prodával. Pro existují normy, aby někdo mohl zažalovat starostu a někdo mohl kontrolovat stav elektrických spotřebičů. Protože někdo je chce prodávat i když jsou nebezpečné.
Ale tohle je prostě diktatura většiny.Zvláštní je, že u ostatních technických norem to prostě jen tak necháš projít ale normu na čistotu vzduchu v podnicích veřejného stravování považuješ za diktaturu většiny. Je diktaturou většiny nutnost ve stejném podniku chladit maso? Někdo by si třeba rád dal syrové maso uchovávané tři týdny ve 20°C, proč mu tuto svobodu odpírat?
Uplatnilo se to na celé území České republiky, všude stejně, bez ohledu na to, jaký je názor místních atd.Ano, vesnice s názvem ČR se takto domluvila. Chápu, že ty to chceš dělit až na úroveň jednotlivce a v zásadě nemám nic proti tomu, ale ještě jsem neslyšel žádný návrh, jak by to mělo fungovat v praxi, aby to nebylo pro všechny 1000x dražší a ve výsledku horší nebo stejné jako dne. Tento zákon se vůbec netýká kuřáckých klubů, ale týká se stravovacích zařízení. Takže v "novém" individualistickém systému by se lidé třeba svobodně dohodli na tom, že v tomto podniku se nebude kouřit a označili by jej pro přehlednost nápisem, co já vím, třeba restaurace. Kde se mimo jiné bude i chladit maso a poteče tam voda bez arzenu.
Neměla by se kvůli tomu třeba vyhlásit válka?Ne neměla, pokud vím, všechny jmenované státu jsou stále součástí EU, kde se mohou na společných pravidlech dohodnout.
No on si to asi nikdo nechce koupit, ale někdo to chce prodávat.Problem muze byt snadno i na strane kupujiciho. Bherzet systematicky uvazuje trivialni pripad, kdy kupujici je na konci retezce, takze si peclive hlida dusledky sveho chovani. Pokud si ale vezmes pripad, kdy kupujici je uprostred retezce, ktery preprodava vyrobky dal, uz je motivace koupit neco, co neodpovida normam, velmi prirozena, tj. usetrit/vydelat. Hospodsky: Proc bych bral vodu z vodovodniho radu, kdyz tu mam studnu, kde je voda zadarmo? Nejaky arzen nebo bakterie stejne nikdo nikdy nevidel, takze neexistuji. Proc bych kupoval drahy spotrebic, kdyz tady ten z Ciny umi to same?
Něco podobného jsem tu před lety navrhoval třeba i pro zadlužování nebo uzavírání jiných smluv: Šmejdi – řešení. Tzn. mohl by sis předem definovat nějaká omezení (třeba, že v nejbližších letech nechceš prodat dům).
Ricin (/ˈraɪsɪn/ RY-sin) is a lectin (a carbohydrate-binding protein) and a highly potent toxin produced in the seeds of the castor oil plant, Ricinus communis.Já bych se nerad otrávil omylem (tzn. dřív než skutečně budu chtít), no ale asi to budu muset v tomhle zkurveném státě risknout. Nevidím jinou variantu než opatřit si ricin, sepsat nějaké prohlášení, uložit ho u notáře a domluvit se s někým, kdo bude ochotný to kdyžtak risknout a doufat, že vyvázne s podmínkou (což vzhledem k závažnosti okolností, za kterých to chci použít, a tomu prohlášení u notáře, by snad mohl).
Je diktaturou většiny nutnost ve stejném podniku chladit maso? Někdo by si třeba rád dal syrové maso uchovávané tři týdny ve 20°C, proč mu tuto svobodu odpírat?A je to pořád jen a pouze o tom, že zákazník má být korektně informován. A případně u věcí, kde hrozí vážnější následky, lze uvažovat nad nějakými pojistkami, které sníží riziko omylu/chyby. To by byl případ toho, že někdo chce sežrat zkažené, zdravotně závadné maso. Asi by měl minimálně něco podepsat, aby si uvědomil, co dělá za píčovinu. Vstoupit omylem do kuřáckého podniku, zjistit to a odejít představuje zanedbatelné riziko. Ty tady teď tvrdíš, že je to strašný problém, a že když z toho vznikne klub, ve kterém je nutné stát se členem, tak je to v pořádku. Fajn. Tak proč zákon nevymezil prostě jen změnu terminologie a nevyžádal podpis informovaného souhlasu? Proč se v souvislosti s kluby v médiích minimálně zpočátku hovořilo o obcházení zákona? Co kdyby se ze všech restaurací v České republice staly „klubovny“? A vůbec, to je jako normální stav, že lidi nějak intuitivně chápou, co je to restaurace nebo hospoda, zákon to nějak upravuje, říká, co se od takového zařízení očekává, a potom se zavede taková úprava (zákaz kouření), že část podniků se raději přemění na „klubovny“, čímž ale zákazníky připraví o všechny další garance? Na jakém právním základě by se řešila třeba reklamace? Pozice spotřebitele se zhoršila, nikoliv zlepšila. Spotřebitel, který vstupuje do takové „klubovny“, kterou ale intuitivně chápe jako hospodu, protože to hospoda je, si ty další právní důsledky vůbec nemusí uvědomit. Nedělej hloupého. Musí ti být naprosto jasné, že kdyby zákon pouze nařídil změnu terminologie, čili např. restaurace by bylo nekuřácké a hospoda kuřácké stravovací zařízení, tak se fakticky nezmění nic – jen ty názvy. Poměr kuřáckých a nekuřáckých podniků by zůstal stejný, spolu se všemi praktickými implikacemi.
A je to pořád jen a pouze o tom, že zákazník má být korektně informován.Ano, tady nejsme ve sporu.
Asi by měl minimálně něco podepsat, aby si uvědomil, co dělá za píčovinu.Je tohle v zájmu toho prodávajícího? Není. Ten to chce hlavně prodat. Vidíme to dnes a denně. Není v žádném zájmu prodávajících jakkoliv vyrušit kupujícího od nákupu. Prodávají se vadné výrobky, nebezpečné a v nevyhovujících prostředích (viz třeba reporty SZPI - do sekce uzavřené provozovny pouze na vlastní nebezpečí a s připraveným dostatečně velkým kýblem).
Ty tady teď tvrdíš, že je to strašný problém, a že když z toho vznikne klub, ve kterém je nutné stát se členem, tak je to v pořádku.Ne, tvrdím, že pokud si někdo chtěl založit kuřácký klub, mohl to udělat dávno před tímto zákonem. A takových doutníkových (například) klubů přátel whisky existuje vícero. Nebo hudebních. Vzdělávacích. Apod. A jako mezi náma, na tom není nic divného. Mě třeba nevyhovují děti v restauaci, chci tam mít klid, takže jsem mnohokrát uvažoval o nějakém klubu pro milovníky dobrého jídla a klidu.
Tak proč zákon nevymezil prostě jen změnu terminologie a nevyžádal podpis informovaného souhlasu?A proč by měl vyžadovat informovaný souhlas? Požadavky na prostory veřejného stravování byly jasně dány už před tímto zákonem. Akorát je skoro nikdo nedodržoval. Což jsem mnohokrát opakoval.
A vůbec, to je jako normální stav, že lidi nějak intuitivně chápou, co je to restaurace nebo hospoda, zákon to nějak upravuje, říká, co se od takového zařízení očekává, a potom se zavede taková úprava (zákaz kouření), že část podniků se raději přemění na „klubovny“, čímž ale zákazníky připraví o všechny další garance?Když jdu do veřejného stravovacího zařízení, tak automaticky očekávám splnění všech zákonných podmínek. Když jdu do soukromého klubu, tak si přečtu podmínky klubu a nemusím tam chodit. Protože je soukromý. Na otázku, jestli je to normální nemám odpověď, různé typy provozoven měly svá pravidla vždy. Daná zákonem a nebo navíc nějakou smlouvou. No, ale zpět k jádru problému. Píšeš správně, že zákazník má být korektně informován. Souhlasím. Zákazník přišel (dávno před tímto zákonem) do restaurace a protože je pečlivý občan, tak si přečetl celý zákon. A tam bylo napsáno stavebně technické oddělení kuřáckých prostor. Vybaven touto informací, jde tedy do provozovny, která je vázána tímto zákonem. A očekává, že pokud je nekuřák a vstoupí do nekuřácké části provozovny, že nebude obtěžován kouřem. A to se v drtivé většině případů nestalo, protože ono stavebně technické oddělení bylo odfláklé, jen tak naznačené, nebo vůbec nepřítomné. Tímto provozovatel zákazníka podvedl, protože plně informovaný zákazník očekává naplnění podmínek zákona. A jak jsem psal v tom článku, kdyby to provozovatelé udělali pořádně, tak žádné zpřísnění být nemuselo. Bylo to zcela v jejich rukou. Jenže oni se na to vykašlali, tak to stát zpřísnil, aby se mu to lépe kontrolovalo. A pak se z toho udělalo politické téma svobody a všech těch kravin. A přitom na počátku celého problému bylo to, že houfně porušovali už předchozí zákon.
Je tohle v zájmu toho prodávajícího? Není. Ten to chce hlavně prodat.A právě proto existují zákony. Akorát já preferuji, aby zákon spíš vynucoval korektní značení než znemožňoval něco dělat.
Zákazník přišel (dávno před tímto zákonem) do restaurace a protože je pečlivý občan, tak si přečetl celý zákon. A tam bylo napsáno stavebně technické oddělení kuřáckých prostor. Vybaven touto informací, jde tedy do provozovny, která je vázána tímto zákonem. A očekává, že pokud je nekuřák a vstoupí do nekuřácké části provozovny, že nebude obtěžován kouřem. A to se v drtivé většině případů nestalo, protože ono stavebně technické oddělení bylo odfláklé, jen tak naznačené, nebo vůbec nepřítomné.Mícháš páté přes deváté. Pokud si správně vzpomínám, tak kdysi dávno (možná tak kolem roku 2003?) někdo přišel s úžašným nápadem, že každá restaurace bude muset mít oddělenou nekuřáckou část. To je logicky někde triviální, jinde naopak nesmírně složité. Ale zákon to vyžadoval, tak se tomu hospodští pokusili vyhovět. Což pak někde vedlo na vznik odfláknutých nekuřáckých prostor, které byly „2nd class citizen“. Potom zákonodárcům došlo, že to sice vypadá hezky na papíře, ale v praxi je to neproveditelné – tak to zase zrušili. A skončilo se právě u té „nálepky na dveřích“, tzn. prosté povinnosti označit, zda je hospoda kuřácká nebo nekuřácká. To byl z mého hlediska ideální stav. Ten stav platil po dobu několika let a popisovaný problém převážně neexistoval, protože ty nekuřácké prostory, které vznikly jen s cílem vyhovět zákonu, byly převážně zase zrušeny. Přežilo to jen tam, kde to bylo udělané pořádně (znovu, to nejde všude) a kde o to byl zájem ze strany hostů. A pak zákonodárci znovu přišli a zakázali kouření plošně všude. I pokud někdo investoval do kvalitní vzduchotechniky, stavebně oddělených kuřáckých salonků atd., tak tam kouření nově musel zakázat.
A jak jsem psal v tom článku, kdyby to provozovatelé udělali pořádně, tak žádné zpřísnění být nemuselo. Bylo to zcela v jejich rukou. Jenže oni se na to vykašlali, tak to stát zpřísnil, aby se mu to lépe kontrolovalo. A pak se z toho udělalo politické téma svobody a všech těch kravin. A přitom na počátku celého problému bylo to, že houfně porušovali už předchozí zákon.Jednak nic neporušovali, jak jsem ti snad teď vysvětlil. A hlavně prostě tenhle princip kolektivní viny si strč víš kam.
Akorát já preferuji, aby zákon spíš vynucoval korektní značení než znemožňoval něco dělat.Však ta restaurace je konkrétně označena. Jako resturace.
Pokud si správně vzpomínám, tak kdysi dávno (možná tak kolem roku 2003?) někdo přišel s úžašným nápadem, že každá restaurace bude muset mít oddělenou nekuřáckou část.Ale o tom právě celou dobu mluvím.
To je logicky někde triviální, jinde naopak nesmírně složité.Stejně jako všechno.
Ale zákon to vyžadoval, tak se tomu hospodští pokusili vyhovět.A většina dost blbě. Resp se ani nesnažili.
Což pak někde vedlo na vznik odfláknutých nekuřáckých prostorTak ono to bylo odfláknuté celé, ale tohle je přesně to, o čem je ten článek a o čem tady celou dobu mluvím. Čteš to vůbec? Ať se nemusím zdržovat.
ale v praxi je to neproveditelnéV praxi to bylo proveditelné, kdyby někdo chtěl. Jak jsem říkal, znal jsem restaurace s tak dobou vzduchotechnikou, žes o kuřákovi u vedlejšího stolu ani nevěděl, pokud to tedy nefoukal přímo na tebe. Takže to jde.
A skončilo se právě u té „nálepky na dveřích“, tzn. prosté povinnosti označit, zda je hospoda kuřácká nebo nekuřácká.Což bylo další obcházení záměru zákona.
To byl z mého hlediska ideální stav.Za mě ani omylem. Šlo to vyřešit mnohem lépe, lepší vzduchotechnikou. Ne ojebávkou stavebních úprav a ne nějakými nálepkami. A právě tady si kladu otázku, když ojebávají tohle, co ještě všechno dalšího ojebávají. Skladování? Chlazení? Řádnou tepelnou úpravu jídel? Čištění prostor?
A pak zákonodárci znovu přišli a zakázali kouření plošně všude. I pokud někdo investoval do kvalitní vzduchotechniky, stavebně oddělených kuřáckých salonků atd., tak tam kouření nově musel zakázat.Ano, protože to všichni ojebávali. A schválně, kolik znáš restaurací, které tohle měly udělané fakt dobře (resp z hlediska toho zákona standardně). Já jednu. Z těch lepších. Ano, ta se s tím svezla.
Jednak nic neporušovali, jak jsem ti snad teď vysvětlil.No moc se ti to nepodařilo. Já jsem do těch restaurací chodil a viděl jsem, jak to vypadalo.
A hlavně prostě tenhle princip kolektivní viny si strč víš kam.To není princip kolektivní viny. To je snaha o řádnou (minimální) definici toho, jak má vypadat podnik, který se označuje jako restaurace. Já nejsem pro zákaz kouření, mohli udělat řádné stavebně technické oddělení, neudělali to.
A právě proto existují zákony. Akorát já preferuji, aby zákon spíš vynucoval korektní značení než znemožňoval něco dělat.A jak by to mělo vypadat v praxi? I dneska je to tak, že se výrobci různě snaží maskovat, co je to vlastně za výrobek. Hmota sýrového typu. Šlehačka / máslo z rostliného tuku. Opékačky, které nejsou špekáčky (akorát jsou vzhledově nerozpoznatelné od špekáčků, jen v nich není maso). Někteří výrobci se už úplně vyhýbají ten výrobek nějak konkrétně pojmenovat, protože vědí, že se to už nedá nikam ani zahrnout (viz Opávia Bochánky - tam už se ani nesnaží předstírat, že je to sušenka, oplatka buchta nebo co vlastně). Takže, za této situace je sice hezké chtít korektní označení, ale v praxi vidíme, že bez čtení složení vlastně vůbec nevíš, co to je a na to abys to pochopil potom, potřebuješ vystudovat chemicko technologickou fakultu. Ne, že bych to kupoval, ale schválně si vybírám nejhorší existující příklady toho, jak vypadá korektní označení odpovídající zákonu. A teď si to převeď na tu restauraci. Buď při vstupu dostaneš 200 stránkový katalog všech ingrediencí, nebo ti potom řeknou: no to je přece jasné že v tom krabím salátu není krab ale treska, to jste si měl přečíst na straně 136. Jinými slovy, způsobů podvodu je hodně. Nelíbí se mi to, nepřeji si to, ale neznám jinou cestu. A ještě jsem žádnou v praxi použitelnou, neslyšel (ne že by ty reálné zákony byly zas o tolik lepší). Vlastně všechny návrhy ten stav jen zhoršovali. Pod vlajkou svobody.
Značení na dveřích začalo být vyžadováno zákonem poté, co se upustilo od plošné povinnosti zřizovat oddělené nekuřácké prostory. Jaké obcházení záměru zákona? WTF?A skončilo se právě u té „nálepky na dveřích“, tzn. prosté povinnosti označit, zda je hospoda kuřácká nebo nekuřácká.Což bylo další obcházení záměru zákona.
Uvědomuješ si, že když někdo vybuduje někde ve sklepě hospodu, kterou od začátku plánuje jako kompletně kuřáckou, a pak si někdo z plezíru vzpomene, že ne, že tam musí vybudovat kuřácký prostor, tak prostě ten hospodský nemusí mít v kapse připravené statisíce korun, aby to celé předělával? Zvlášť, když po tom nekuřáckém prostoru třeba ani není poptávka ze strany hostů, protože tam chodí převážně kuřáci, a tedy ví, že mu to bude jen zabírat plochu? Srovnávat to s elementárními hygienickými principy… Common.To byl z mého hlediska ideální stav.Za mě ani omylem. Šlo to vyřešit mnohem lépe, lepší vzduchotechnikou. Ne ojebávkou stavebních úprav a ne nějakými nálepkami. A právě tady si kladu otázku, když ojebávají tohle, co ještě všechno dalšího ojebávají. Skladování? Chlazení? Řádnou tepelnou úpravu jídel? Čištění prostor?
OK. Nařizuji, aby ve tvém bytě byl zřízen kuřácký salonek o rozměrech ne méně, ne více než 5x5 metrů, oddělený od ostatních prostor zdí s jedinými dobře těsnícími vstupními dveřmi o čisté šířce 800 mm. Místnost musí mít zajištěné odvětrávání takové, že kouř ze čtyř libovolných na českém trhu zakoupitelných současně zapálených cigaret nebude měřitelný mimo kuřárnu a nebude obtěžovat ani kolemjdoucí na ulici či obyvatele jiných bytů. Uvnitř místnosti se musí nacházet stolek s popelníkem a čtyři židle. Žádné další vybavení není přípustné. Na podlaze musí být dlažba, stěny musí být z nehořlavého materiálu. Máš na to tři měsíce. A ne abys to ojebával. Jinak jsem znal restaurace, které byly v prostorách dříve užívaných jako byty, tzn. implementovaly to prostě tak, že jednu místnost vyhradily jako nekuřáckou. Restaurací, kde nekuřácký prostor byl jen právní konstrukt a ve skutečnosti tam byl cítit kouř, existovalo asi víc, ale nebyl jsem v nich, protože v té době jsem byl dítě školou povinné a rodiče nebyli kreténi. Tzn. táta vybíral slušné podniky a když si někde nebyl jistý, nechal mě počkat venku a sám se šel podívat dovnitř, jestli je tam nahuleno. Už jsem tu psal, že jsem běžně jezdil s tátou na pracovní cesty, v restauracích jsme se stravovali často a i přes striktní odmítání zahulených pajzlů nikdy nebyl problém, že bych hladověl (resp. určitě ne kvůli nedostupnosti nekuřácké restaurace). Ono se lze najíst i jinak než jen v restauraci, nebo si to třeba nechat zabalit.A pak zákonodárci znovu přišli a zakázali kouření plošně všude. I pokud někdo investoval do kvalitní vzduchotechniky, stavebně oddělených kuřáckých salonků atd., tak tam kouření nově musel zakázat.Ano, protože to všichni ojebávali. A schválně, kolik znáš restaurací, které tohle měly udělané fakt dobře (resp z hlediska toho zákona standardně). Já jednu. Z těch lepších. Ano, ta se s tím svezla.
V době, kdy vstoupil v platnost plošný zákaz kouření, tak opravdu neporušovali nařízení, které v té době už dávno neplatilo.Jednak nic neporušovali, jak jsem ti snad teď vysvětlil.No moc se ti to nepodařilo. Já jsem do těch restaurací chodil a viděl jsem, jak to vypadalo.
Připomínáš mi učitelku, která nechávala celou třídu po škole, protože pár lidí dělalo při hodině bordel. Já bordel nedělal, tak jsem se sebral a odešel. Dostal jsem neomluvenou hodinu. Stalo se to znovu, udělal jsem to znovu. V kontextu s tím, co jsem psal v dřívější diskuzi o tom napětí a radikalismu, a co jsi tu sám připomínal, si to vylož jak chceš. Předkládám ti tady mírumilovné řešení, kde si každý najde to, co mu vyhovuje, a nikdo nikoho neomezuje ani mu neubližuje. Ty se mu vehementně bráníš a stavíš se na stranu plošného systematického zákazu. A takových věcí pořád přibývá. Tak se potom nediv, až to na někoho bude moc a rupne mu v bedně. Já mám svědomí čisté. Já to nezavinil. Naopak se narozdíl od mnohých radikálnějších libertariánů snažím i o ten pragmatičtější vhled, uvědomuji si třeba různé sociální problémy, a i tam se snažím hledat řešení (dokonce i s takovým davkolem jsem se tu v pár věcech rámcově shodnul).A hlavně prostě tenhle princip kolektivní viny si strč víš kam.To není princip kolektivní viny. To je snaha o řádnou (minimální) definici toho, jak má vypadat podnik, který se označuje jako restaurace. Já nejsem pro zákaz kouření, mohli udělat řádné stavebně technické oddělení, neudělali to.
A to jako fakt nechápeš rozdíl mezi zdravotně nezávadnou „hmotou sýrového typu“, kde jediná otázka je, jak to pojmenovat, ale normám to vyhovuje, a vodou obsahující toxický a karcinogenní arsen? Se vždycky skončí diskuzemi o naprostých absurditách. Po kuřáckých hospodách existovala docela velká poptávka v době zákazu, a existuje stále. Oproti tomu třeba chlór si můžeš normálně koupit už teď, akorát holt se tomu nesmí říkat potravina a nesmí to s ní být zaměnitelné. Tak asi s prodejem arsenu by to bylo podobně. A nebo se řekne, že je to fakt nebezpečné a legitimní použití to nemá skoro žádné, ale zase město tím do povětří taky nevyhodíš, tak asi holt se tyhle věci můžou regulovat nějak podobně jako zbraně, a nebo případ od případu. Takže když budeš chtít v místním hackerspacu udělat experiment s antibiotiky a ukázat na Petriho misce, jak na ně vzniká rezistence, tak to oznámíš nějakému úřadu, zacáluješ nějaký rozumný poplatek a oni s tebou pak budou řešit, jak to udělat bezpečně, aby potom došlo k likvidaci těch rezistentních bakterií atd. Lock Picking Lawyer někde dělal video s výbušninou a taky to probíhalo tak, že zašel za šerifem (nebo kým) a s ním to pak řešil. Tohle je potom cesta, jak řešit různé speciální případy, kdy něco nejde neregulovat vůbec, ale tu a tam někdo může potřebovat výjimku.A právě proto existují zákony. Akorát já preferuji, aby zákon spíš vynucoval korektní značení než znemožňoval něco dělat.A jak by to mělo vypadat v praxi? I dneska je to tak, že se výrobci různě snaží maskovat, co je to vlastně za výrobek.
Značení na dveřích začalo být vyžadováno zákonem poté, co se upustilo od plošné povinnosti zřizovat oddělené nekuřácké prostory.Ano, jenže to celé bylo takový krok stranou.
Uvědomuješ si, že když někdo vybuduje někde ve sklepě hospoduUvědomuju, ale není to vůbec relevantní. Ale už snad chápu, kde vidíš problém. Ty to máš (nejspíš) tak, že si prostě někdo někde vybuduje něco a už to tam má na věky zůstat. Já to takhle nevidím. Je spousta dalších věcí, které ti to můžou zavřít. Zemní radon - také může být neekonomické ty základy (jsou-li) odvětrávat. Narušená statika domu. Špatně provedené rozvody. Apod. Tj důvodů, proč už na daném místě nemůže být (resp. může to být neekonomické) daný provoz může být hodně. Vzduchotechnika je pouze jeden z nich.
Nařizuji, aby ve tvém bytě byl zřízen kuřácký salonek o rozměrech ne méněTo nařizovat klidně můžeš, ale můj byt není veřejný podnik. Na rozdíl od restaurace. A je ve skutečnosti mnoho nařízení týkajících se bytu a které stojí jeho vlastníka peníze. Takže tady není žádný rozdíl. Každý prostor, který má nějaké určení, podléhá nějakým normám.
Jinak jsem znal restaurace, které byly v prostorách dříve užívaných jako bytyCelkem by mě zajímalo, jak jim to prošlo na stavebním úřadu, protože pro restauraci a pro byt jsou zcela jiné podmínky (už třeba jen protipožární, hygienické apod.)
Ty se mu vehementně bráníš a stavíš se na stranu plošného systematického zákazu.Ne a nevím, kolikrát už to mám opakovat. Nejsem pro zákaz kouření, mnohem raději bych viděl slušně zařízené podniky. A když se vrátím na počátek této diskuse, kdyby tam byla standardní vzduchotechnika, tak se nemusí zavírat ani kvůli covidu, protože se to prostě odfiltruje.
A to jako fakt nechápeš rozdíl mezi zdravotně nezávadnou „hmotou sýrového typu“, kde jediná otázka je, jak to pojmenovat, ale normám to vyhovuje, a vodou obsahující toxický a karcinogenní arsen?Já jsem to psal jako ukázku, jak snadno lze oklamat spotřebitele. Výrobek označený jako máslo, vypadá jako máslo a není to máslo. Sýr co vypadá jako sýr a není to sýr. Tyhle ojebávky zkoušejí pořád. A ano, mnoho provozů už používalo i nevhodnou vodu, protože je to voda. Ty voláš po konkrétním označení. Fajn, tyhle výrobky mají konkrétní označení a je jím celé jejich složení. Po faktické stránce nelze nic namítat. Ale snad se shodneme alespoň na tom, že záměrem nepoctivých výrobců / prodejců je především zmást spotřebitele a to vzhledem a obalem výrobku. Neprodává se to ve zvláštní sekci "vysoce zpracovaných potravin", ne prodává se to hned vedle skutečných výrobků daného typu. (Mám pocit, že se snad i řešilo, že se to nesmí prodávat hned vedle originálů, ale netuším, jak to dopadlo. Já jsem si jen zapamatoval, že si mám dávat pozor a pokaždé číst, co to vlastně je, protože z přední strany obalu to často není poznat.) A už fakt vidím, jak si nějaký nepoctivý hospodský označí jídlo v menu "čočková polévka z vody obsahující nadměrné množství arzenu". Protože co kdyby si to někdo chtěl svobodně dát, že. Jednak si tohle cíleně nikdo nedá (nebo má i jiné možnosti otravy) a spíš to sní někdo, kdo se tam půjde jen tak najíst a objedná si "čočkovku".
ve skutečnosti to prostě před tím zákonem byly normální hospodySlovo hospoda jsem sem raději vůbec netahal, a nechci kolem toho vůbec flejmovat. Hospody jsou všechno od náleven, vináren a různých pajzlů až po velmi pěkné, tématické roubenky, kde by vůbec nikoho nenapadlo si zapálit. Je to celá škála a ve skutečnosti některé hospody jsou v podstatě luxusní, akorát trochu "domáčtější" prostředí. Takže nic jako "normální hospoda" vlastně neexistuje.
S tím bys takhle souhlasil?Klidně, akorát nevím, jak se to liší od toho, co jsem navrhoval. Do toho, jak si to ten klub uspořádá uvnitř, jsem nijak nezasahoval.
Verejny podnik je treba Ceska posta, nebo CEZ. Hospoda je soukromy podnik stejne jako byt. Jen nekdo nezamknul dvere. Takze pokud pozadujes zasahy do vlastnictvi majitelu hospod, nebud prekvapen ze jini pozaduji zasahy to tveho vlastnictvi.Nařizuji, aby ve tvém bytě byl zřízen kuřácký salonek o rozměrech ne méněTo nařizovat klidně můžeš, ale můj byt není veřejný podnik. Na rozdíl od restaurace.
A přitom policii, která se pod hrozbou násilí bude snažit dodržování zákazu vynutit, tam pošleš klidně.Jo, klidně. Stejně jako na rušení nočního klidu.
Vyžadovat korektní označení produktů je odůvodnitelné a má to pro hladký chod společnosti zcela zjevný význam.Bystroušák tady často argumentuje použitelností každodenních výrobků a jejich jasné označení. Ano, voda s arzenem má mít jasné označení a to nálepkou s lebkou. Nikoliv být zaměnitelná s pitnou vodou na místech, kde se běžně pitná voda vyskytuje.
Ve Spojených státech by jim jistě vadilo, že dodané elektrické křeslo neplní svou funkci.Protože elektrické křeslo je běžně dostupný výrobek a v každé restauraci je jich minimálně 5... Nezdá se ti, že výrobek "elektrické křeslo" má trochu jiné parametry, způsob schvalování, montáže a provozu?
Člověk by měl být varován, že vstupuje do budovy, kde už 10 let nikdo nekontroloval starou plynovou karmu.A to varování bude kde? Na vývěsce, která se před pěti lety rozpadla, protože ji 10 let nikdo nezkontrolovat? Nebylo by lepší takový dům odpojit od plynu jako celek, což je běžná praxe, když něco neprojde revizí a má to potenciál způsobit značné škody?
Se vstupem do zřetelně označené kuřárny to nelze srovnávat.Pokud se nějaká provozovna jmenuje kuřárna a nikoliv restaurace, nemám námitek.
může jít jinam, uvařit si doma, jídlo si objednat s sebou, …Opět vysvětleno v tom článku. Pokud bude na trhu převaha nepoctivých provozovatelů, tak ti poctiví budou mít o to těžší život. Takže, nakonec nezbude kam jinam jít.
Stejně jako na rušení nočního klidu.
Při rušení nočního klidu přesahuje ten hluk hranice soukromého pozemku (hospody) a zasahuje do majetku jiných lidí (jejich domů a bytů), kde je ruší.
Zatímco u kuřácké hospody se to znečištění týká prakticky výhradně1 lidí sedících uvnitř.
Stejně tak když bude hospoda či klub tak dobře zvukově izolovaný, že venku nic neuslyšíš, tak tě přece nemusí trápit, že ti lidé uvnitř jsou vystaveni nadměrnému hluku a že se ten den moc nevyspí – je to jejich věc a šli tam dobrovolně. Ty jsi mimo ten prostor a vyspíš se v pohodě.
Pokud se nějaká provozovna jmenuje kuřárna a nikoliv restaurace, nemám námitek.
Což o to, já taky považuji za normální a správné nekouřit.2 Takže s tímhle bych docela souhlasil, přestože do té doby zavedená praxe3 byla odlišná. Klidně ať zákon definuje terminologii tak, že „restaurace = místo primárně pro konzumaci jídla, kde se nekouří (a lidi se tam chovají slušně…)“, ale ať není omezováno právo majitele nemovitosti nakládat se svým majetkem (zřídit si tam kuřácké doupě, kde se i vaří), jen si to bude muset pojmenovat jinak, protože říkat tomu restaurace by byl podvod / klamání zákazníka.
Stejně tak by zákon mohl resp. měl definovat, co znamená „připojení k internetu“ a služby odporující té definici by se musely jmenovat jinak. Ale stále musí platit to, že po svých kabelech a svých routerech si můžu pouštět co chci, třeba si tam libovolně omezovat nebo filtrovat provoz, a vztah mezi mnou a mými zákazníky se řídí tím, co jsme si dohodli ve smlouvě.
[1] dobře, když budeš mít okno nad hospodou/zahrádkou a budou ti smrdět až k tobě domů, tak to je problém a mělo by se to řešit, ale ve většině případů bude ten kouř tak rozptýlený, že nikomu kolem vadit nebude; případně by ho mohla filtrovat a zachytávat vzduchotechnika
[2] mimochodem, před lety jsem dělal web nekurak.net, což byla tedy spíš ukázková aplikace k článku o programování, ale i tak to ilustruje můj pohled na věc
[3] kouřit v hospodách, barech, diskotékách atd. bylo běžné a člověk jako já musel hledat spíš podnik explicitně označený za nekuřácký, než se spoléhat na to, že u jídla se nekouří
Zatímco u kuřácké hospody se to znečištění týká prakticky výhradně1 lidí sedících uvnitř.A zaměstnanců.
Stejně tak když bude hospoda či klub tak dobře zvukově izolovaný, že venku nic neuslyšíš, tak tě přece nemusí trápit, že ti lidé uvnitř jsou vystaveni nadměrnému hluku a že se ten den moc nevyspí – je to jejich věc a šli tam dobrovolně.No však ok. Na tohle nikdy volat policajty nebudu. Ale na rozjívenou zahrádku klidně (nikdy jsem to ale nemusel udělat).
Což o to, já taky považuji za normální a správné nekouřit.O tom, co je správné a nesprávné se v případě závislostí dá hovořit fakt dlouho. Každý máme něco.
mimochodem, před lety jsem dělal web nekurak.net,Nedostanu se tam. HTTPS-Only Mode Alert - Secure Connection Not Available. Tenhle mód fakt doporučuju zapnout, člověk tak snadno narazí na různé nedotažené konfigurace. Dneska jsem si nechal resetovat heslo u jedné služby, přišel emailem odkaz na nastavení nového hesla (https), a po jeho nastavení to skončilo někde na http stránce. (Přičemž hlavní web je opět na https.) Někde tam mají botu, napíšu jim bugreport.
Stejně tak by zákon mohl resp. měl definovat, co znamená „připojení k internetu“ a služby odporující té definici by se musely jmenovat jinak.Měl no, už se nějak řeší alespoň rychlost připojení.
kouřit v hospodách, barech, diskotékách atd. bylo běžné a člověk jako já musel hledat spíš podnik explicitně označený za nekuřácký, než se spoléhat na to, že u jídla se nekouříPrávě proto jsem explicitně psal restaurace, protože u baru, kde se nevaří, to asi člověk ani neočekává (ale nevím, tam nechodím).
Uživatelé svými preferencemi určují, jaké aplikace budou existovat a jak budou vypadat.Pokud mají volbu (existuje alternativa), že.
XHTML vážně nebylo jednoduché - vždyť je to kompletní XMLCo na tom nebylo jednoduché? XML muselo být alespoň well-formed, tj bylo velmi jednoduché si zkontrolovat výstupní soubor. Doba se změnila, ale před ne tak dávnem byl internet plný (a to doslova) nevalidních html dokumentů. XHTML poprvé alespoň zavedlo nějaký standard pro formátování dokumentu.
Z doby XHTML si taky pamatuju quirks-mode (přepínaný - absurdně - přítomností DOCTYPE deklarace), sniffování user agentaAno, pro zpětnou kompatibilitu s html 4
"Optimalizováno pro IE6" a podobněTo nemá s XHTML nic společného.
Síly které z jednoduchého protkolu a jednoduchého jazykaTak dnešní html je stále jednoduchý a snadno použitelný jazyk. Vůbec nikdo autora webových stránek nenutí používat všechny vlastnosti html5. S tímto s Frantou nesouhlasí (a neshodneme se na tom), kdo chce psát web, texty, jednoduše, čistě, bez JS, klidně může. Své čtenáře si najde. Ostatně, je dobré se podívat jak vypadají stránky vědeckých kapacit. Text je text.
Javascript byl původně určenýJS je Turingovsky úplný jazyk, takže o nějakém původním určení nemůže být řeč. Jestli to mělo být pouze pro validaci, tak to tak měli napsat. (A tím vůbec neříkám, že to napsali špatně. Jistě je záměrem autorů jazyka jej napsat jako úplný a jistě věděli, co to znamená a možná právě proto to psali.)
dneska kompiluje QuakeCož za mě není špatně. Je celkem fajn sledovat, jak spousta programů, které již lze jen s velkými obtížemi spustit nativně, jsou hravě (pun intended) přepisovány a lze to v prohlížeči spustit jedním kliknutím, zatímco na PC...
klient musí umět všechnyNemusí. Klient se se serverem dohodne na společné řeči. K příliš striktně nastavenému serveru se klient nepřipojí (takto jsem musel s nechutí povolit TLS1.2, protože někteří klienti...., dlouhý příběh) a nový klient se zase nemusí připojit kamkoliv. To je život. Ve skutečnosti je více než dostatečné časové okno na update.
[XHTML složité ...] Co na tom nebylo jednoduché? XML muselo být alespoň well-formed, tj bylo velmi jednoduché si zkontrolovat výstupní soubor. Doba se změnila, ale před ne tak dávnem byl internet plný (a to doslova) nevalidních html dokumentů. XHTML poprvé alespoň zavedlo nějaký standard pro formátování dokumentu. XHTML bylo striktnější. Ano, možná bylo jednodušší než HTML s hromadou hacků pro zpětnou kompatibilitu, ale rozhodně nebylo jednoduché. XML parsery prostě jednoduché nejsou. [quirksmode, uasniff ...] Ano, pro zpětnou kompatibilitu s html 4 [OptForIE6...] To nemá s XHTML nic společného.xkucf03 psal o "starém dobrém HTTP z dob, kdy to byl ještě jednoduchý protokol", tak jsem to interpretoval v kontextu doby. XHTML bylo (možná) jednodušší než ten marast před ním. Ale reálně se používalo obojí, a prohlížeče to musely - a pořád musí - nějak přijatelně podporovat. Výsledkem byla složitost XML spojená se složitostí HTML, složitostí zpětně-kompatibilních hacků, a k tomu se přidala ještě složitost přepínačů a interakcí těchhle věcí dohromady.
Tak dnešní html je stále jednoduchý a snadno použitelný jazyk.Ne, není. Kdyby bylo, tak bychom měli víc než dva prohlížeče (Chrome a Firefox).
Vůbec nikdo autora webových stránek nenutí používat všechny vlastnosti html5. S tímto s Frantou nesouhlasí (a neshodneme se na tom), kdo chce psát web, texty, jednoduše, čistě, bez JS, klidně může. Své čtenáře si najde. Ostatně, je dobré se podívat jak vypadají stránky vědeckých kapacit. Text je text.To, že v HTML5 existuje jednoduchá podmnožina neznamená, že HTML5 je jednoduché. Protokoly slouží k tomu, aby se všichni mohli spolehnout že existuje nějaký společný jazyk. Pokud implementuju protokol, nemůžu si říct, že se mi polovina nelíbí, tak ji vynechám; nebo teda můžu, ale pak jsem ten protokol neimplementoval. Snad se shodneme, že jednoduchost je cenná vlastnost. Současný HTML klient je buď neúplný, nebo zoufale složitý. Mě z toho vychází, že je tu místo pro jednodušší, alternativní protokol.
JS je Turingovsky úplný jazyk, takže o nějakém původním určení nemůže být řeč. Jestli to mělo být pouze pro validaci, tak to tak měli napsat. (A tím vůbec neříkám, že to napsali špatně. Jistě je záměrem autorů jazyka jej napsat jako úplný a jistě věděli, co to znamená a možná právě proto to psali.) [Quake to JS ...] Což za mě není špatně. Je celkem fajn sledovat, jak spousta programů, které již lze jen s velkými obtížemi spustit nativně, jsou hravě (pun intended) přepisovány a lze to v prohlížeči spustit jedním kliknutím, zatímco na PC...Jako mě baví kompilace Rustu do WASM, Jitsi používám každý týden hlavně proto že se nemusí instalovat a tak dál. Já uznávám že za tu složitost jsme výměnnou získali užitečné věci. Jen bych rád měl zpátky tu jednoduchost; klidně i jen v kroužku nadšenců.
Nemusí. Klient se se serverem dohodne na společné řeči. K příliš striktně nastavenému serveru se klient nepřipojí (takto jsem musel s nechutí povolit TLS1.2, protože někteří klienti...., dlouhý příběh) [...]Přijde mi, že jsi napsal: "Částečná kompatibilta stačí. Ale nedávno jsem byl u toho, že nestačila." Něco jsem nepochopil, nebo ses vyvrátil sám?
Ne, není. Kdyby bylo, tak bychom měli víc než dva prohlížeče (Chrome a Firefox).Nemyslím si, že to lze tak jednoduše interpretovat. "Válka" prohlížečů je mnohem složitější a mnohem víc jde o reklamu a prosazení značky, než o cokoliv jiného. Vedl MS se s vým IE (což je svým způsobem divné, protože MS na internet najel až hodně pozdě), potom přišel FF a nakonec to převálcoval Chrome. Co bude za 10 let, těžko říct. Navíc Chrome nevznikl v proprietární dílně otroků Google, engine Chrome vychází z Khtml, což bylo renderovací jádro vzniklé v projektu KDE (prohlížeč Konqueror). Takže to byla svobodná alternativa proti svobodnému jádru Gecko ve FF. To jsou ty dějiny zamotané.
Protokoly slouží k tomu, aby se všichni mohli spolehnout že existuje nějaký společný jazyk.Ano a prosil bych nezaměňovat protokol s datovým formátem. Protokol http je jednoduchý a lze tím přenášet cokoliv. Nikoliv jen html5. Moc nerozumím, proč projekt gemini vymýšlí vlastní protokol a k tomu ještě vlastní formát, když obé už tady existuje v mnoha podobách. Jednoduchých internetových protokolů je hodně a klidně to může být tak, že Gemini server a Gemini client budou používat jen podmnožiny HTTP protokolu, podobně jako třeba REST. Jaký si zvolí datový formát je zcela jiná otázka, klidně to může být existující markdown, pokud chtějí. Krásný jednoduchý modulární návrh. A ještě navíc by šla použít stávající http infrastruktura. Bez různých dalších proxy. Prostě bych si na webserver přidal endpoint
/gemini
a je to.
Jako mě baví kompilace Rustu do WASM, Jitsi používám každý týden hlavně proto že se nemusí instalovat a tak dál. Já uznávám že za tu složitost jsme výměnnou získali užitečné věci. Jen bych rád měl zpátky tu jednoduchost; klidně i jen v kroužku nadšenců.Jo, proti tomu nic. Myslím si, že to lze mít i bez dalšího projektu, ale když si chcete hrát, tak si hrajte.
Přijde mi, že jsi napsal: "Částečná kompatibilta stačí. Ale nedávno jsem byl u toho, že nestačila." Něco jsem nepochopil, nebo ses vyvrátil sám?To bys mi musel připomenout, ale já už z čistého zoufalství tady v diskusích verzemi protokolu už jenom trolím. Přijde mi fakt absurdní v roce 2021 někam konfigurovat podporu pro TLS 1.0 (1999) nebo TLS 1.1 (2006) nebo TLS 1.2 (2008), když máme TLS 1.3 (2018). Už jen to, že se o tom vůbec musíme bavit znamená, že je něco špatně. No, takže jsem na webu povolil jen 1.3, tak jak to má aktuálně správně být a potom jsem zjistil, že někteří se tam nedostanou, tak jsem skolil hlavu a povolil 1.2. Obě verze protokolu jsou bezpečné, takže to tak může chvíli zůstat.
To bys mi musel připomenout, ale já už z čistého zoufalství tady v diskusích verzemi protokolu už jenom trolím. Přijde mi fakt absurdní v roce 2021 někam konfigurovat podporu pro TLS 1.0 (1999) nebo TLS 1.1 (2006) nebo TLS 1.2 (2008), když máme TLS 1.3 (2018). Už jen to, že se o tom vůbec musíme bavit znamená, že je něco špatně. No, takže jsem na webu povolil jen 1.3, tak jak to má aktuálně správně být a potom jsem zjistil, že někteří se tam nedostanou, tak jsem skolil hlavu a povolil 1.2. Obě verze protokolu jsou bezpečné, takže to tak může chvíli zůstat.Tohle vynucovani pouze a jedine nejnovejsi verze jedna z nemoci soucasneho IT. Clovek pak travi produktivni (nebo hur svuj volny) cas resenim proc najednou nefunguje roky bezproblemovy sw, proc se s novym klientem nepripoji na stary server (zpetna kompatibilita, anyone?), proc /usr/bin/python je najednou uplne jiny python3 (Rustisti tise soupou nohama), proc weby kontroluji cislo verze prohlizece (zdravim zmrdy z cloudflare) kvuli zobrazeni jednoho obrazku, proc... Nekdy pridani podpory nebo hledani jedine fungujici kombinace pripomina opravu Lakatose.
Tohle vynucovani pouze a jedine nejnovejsi verze jedna z nemoci soucasneho IT.To není vynucování jen poslední verze. Můžeš mít klidně TLS1.3 + TLS1.2. Od toho je tam ten časový překryv, abys měl dost času na změnu. Ale je to čas na změnu, ne na provoz. (V tomto případě 3 roky a stále můžeš používat TLS1.2 z roku 2008.) Proklikej si třeba generátor od Mozilly. V intermediate mají 1.3 a 1.2.
proc /usr/bin/python je najednou uplne jiny python3No jednak pokud tohle admina překvapí, tak by se měl nad sebou zamyslet, ale hlavně z pohledu člověka, který python roky používá, mám díky tomu další vhled do stavu těch kterých programů a za nimi stojících projektů. Protože pokud nějaký projekt kupříkladu nestihne přejít na python3 (2008) a mezitím je python2 obsolete, tak si u tohoto projektu píšu černý punťík. Ten kód asi nebude celkově moc dobře udržovaný.
Nijak by se to nezlepšilo tím, že by se najednou kolem printů začaly psát zavorky.
Proč na to není automatický nástroj, který by převedl zdrojáky ze staré verze do nové? To se týká v podstatě všech jazyků. Vždyť ta potřebná infrastruktura existuje – máme parser, máme AST a stačilo by nad tím stromem provést pár operací nebo ho rekurzivně převést z jedné verze do druhé a pak zpětně serializovat do zdrojáku.
Zachovat původní formátování by byl trochu problém resp. práce navíc. Ale pokud mám třeba program, který nikdo dlouho neudržuje a nemá chuť ho přepisovat do nové verze, tak bych to formátování i obětoval a měl raději automaticky naformátovaný kód a program, který se chová přesně stejně jako původní a jde přeložit novým kompilátorem.
Proč na to není automatický nástroj, který by převedl zdrojáky ze staré verze do nové? To se týká v podstatě všech jazyků. Vždyť ta potřebná infrastruktura existuje – máme parser, máme AST a stačilo by nad tím stromem provést pár operací nebo ho rekurzivně převést z jedné verze do druhé a pak zpětně serializovat do zdrojáku.Ten nástroj na to samozřejmě je, prakticky už od začátku, dokonce je součástí přímo pythonu (2to3). K tomu existují další věci, jako třeba modernize. Většinou to nefunguje úplně stoprocentně, udělá to za tebe tak 90% věcí a těch 10% musíš projít ručně a zkontrolovat. Typicky v místech, kde někdo použil něco hodně dynamického (třeba volá metody podle stringu, tak pak musíš upravit změněné názvy metod ve strinzích, dávám jen jako příklad, reálně to je většinou něco jiného). Občas bývá problém, že type-inference se neprovede úplně stoprocentně, takže to třeba nepochopí, že v metodě, kde byla
for
smyčka, kde se volalo něco jako:
def print_items(self, d): for key, val in d.iteritems(): print key, valto má nahradit
d.iteritems()
za d.items()
(tzn nepochopí to, že d
je instance dict
u a myslí si to, že je to prostě objekt).
Formátování to nechává úplně stejné.
Obecně se ale dá říct, že pro menší projekty proces portování není moc složitý. Pustíš na to 2to3, zkontroluješ kód. U projektů co mají pár tisíc řádek to je to typicky práce na míň jak hodinu. Komplikace existují vesměs ve dvou směrech;
str
a unicode
typy zvlášť a ve trojce teď máš jen str
co je unicode
).boto2
, které je deprecated, a boto3
mezitím hodně změnilo API. Vzhledem k tomu že tam nejsou žádné testy (ani integrační, ani unit), není k tomu žádná dokumentace, a má to kopu dynamických věcí (lazy-loadované načítání bucketů z S3 třeba), tak tohle portovat bude totální noční můra.
Jinak mi přijde divné zlehčovat benefity přechodu z py2.7 na py3. Těch důvodů pro přechod je samozřejmě o hodně víc, než jen závorky u print
u. Třeba práce se stringama byla v py2.7 úplně nahovno, pokud se používaly různá kódování. Těch věcí, které se narovnaly a zlepšily, že dávají smysl, je v py3 hodně.
Jinak mi přijde divné zlehčovat benefity přechodu z py2.7 na py3. Těch důvodů pro přechod je samozřejmě o hodně víc, než jen závorky u print
u. Třeba práce se stringama byla v py2.7 úplně nahovno, pokud se používaly různá kódování. Těch věcí, které se narovnaly a zlepšily, že dávají smysl, je v py3 hodně.
Já to vidím tak, že nové věci má smysl začínat v aktuální (stabilní) verzi a využívat těch narovnaných a zlepšených věcí.
Stejně tak věci, na kterých se nějak víc pracuje má cenu do té nové verze postupně překlápět, protože tam člověk ty novinky ocení a použije.
Ale věci, co 8+ let fungujou a v posledních letech se na nich neměnilo nic (snad kromě pár detailů v textu nápovědy) a nečeká se, že by se na nich v dohledné budoucnosti něco měnílo, překlápět jen pro tu radost z překlápění mi prostě přijde nadbytečné, dokud bezproblémově fungují.
(Například výpočet měsíčních fází, abych věděl, kdy mají okolo roku 2054 vlkodlaci problém s úplňkem, nebo kdy se rozložená figurka kostlivce pokusí správně nasměrovat (vždycky při novu), nebo co zrovna dobrodruzi zkoumají - to bude chodit furt stejně (a i kdyby se to někde ve vzdálenější budoucnosti mělo o den, dva rozejít, tak to pro hru nevadí). Program, co seřadí soubor podle prvních dvou párů datum-čas ve formátu yyyy.mm.dd hh:mm a doplní/vyhodí tam prázdné řádky s textem EMPTY pro místa mezi tím se taky už asi nezmění, dokud budu používat unicode a zbytek řádku se bude prostě kopírovat. Program, co z unicode stringu udělá slug bez nabodeníček a mezer (co jde použít jako "anglické" jméno souboru a projde kdekoliv) taky nejspíš bude sloužit ještě dlouho. A takovýhle věcí mám mraky. A necítím potřebu je je měnit jen proto, že by to třeba šlo, když vyhovujou tak jak jsou. Pokud by se jejich funkce měla nějak výrazněji změnit, tak bych to asi spíš přepsal celé, ale pokud taková potřeba už léta nenastala, tak mám zajímavější věci na práci - třeba vymýšlet, co s těma vlkodlakama :) )
Python 2.7.18 (default, Jun 13 2020, 00:52:52)Je moc hezké ukazovat poslední update.... Verze 2.7 vyšla v roce 2010 jako poslední a přechodová verze, pro ulehčení přechodu na Py3. A je skvělé, že ji podporovali 10 let. Až do dlouho ohlášeného ukončení podpory. Ale tj. jedno. Stav projektu znáš, děláš to na svoje triko a jestli ti to bude pár let fungovat, tak pro tebe asi dobrý.
Je naprosto v poradku propagovat py3, prinesl spoustu zlepseni. Ale neni v poradku aby se po nekompatibilni zmene jmenoval stejne. Predstav si to jako kdybys potreboval do stareho zarizeni vlozit novou baterii, ale pod nazvem LR44 by najednou bylo neco co ma nominalni napeti 12 V. Vsak sis mel v navodu precist, ze od roku 2008 se zmenila technologie.proc /usr/bin/python je najednou uplne jiny python3No jednak pokud tohle admina překvapí, tak by se měl nad sebou zamyslet, ale hlavně z pohledu člověka, který python roky používá, mám díky tomu další vhled do stavu těch kterých programů a za nimi stojících projektů. Protože pokud nějaký projekt kupříkladu nestihne přejít na python3 (2008) a mezitím je python2 obsolete, tak si u tohoto projektu píšu černý punťík. Ten kód asi nebude celkově moc dobře udržovaný.
Nesouhlasím, že by šel současný směr špatně. Současný směr je odklon od desktopu, přechod na web.
Má to svoje pozitiva, např. mizí závislost na proprietárních OS (MS Windows).
Ale jinak to moc dobré není – problém je ta absence modulárnosti/profilů a tendence používat vysoce komplexní software i pro jednoduché úlohy. Já se např. snažím o to, aby jednoduchá úloha typu čtení článku, šla realizovat i pomocí jednoduchého prohlížeče. Ale většina autorů na to bohužel kašle a donutí tě nainstalovat a používat jeden z těch dvou molochů (v horším případě konkrétně jeden z nich, ze kterého se pak stává vlastně takový nový MSIE 6). Přitom si chceš třeba jen přečíst článek, objednat zboží, vyplnit daňové přiznání nebo zaplatit složenku – pro takové úlohy ta komplexita nemá absolutně žádné opodstatnění a je to jen ignorance nebo zvůle autorů.
Totéž platí pro závislosti na externích službách (Google reCaptcha, různé CDN atd.), ke které moderní web vyšlapal cestu a dost dlouho se to propagovalo jako něco skvělého (mashup). Ve skutečnosti je to zlo z mnoha důvodů (soukromí, cenzura, centralizace moci, odolnost proti výpadkům…).
Současný směr je odklon od desktopu, přechod na web. Z toho pak plynou i vyšší požadavky na funkčnost.Bez problému, je mi jasné, že když někdo bude v browseru implementovat Office balík, tak to vyžaduje takové věci. Absurdní ale je, když takové technologie (a bloat) vyžaduje stránka se třemi obrázky a textem.
Tady je otázka, jestli poskytovat spíš surová data a přistupovat k tomu genericky nebo mít nějaké běhové prostředí a vše řešit specificky až uvnitř těch aplikací.
Ono HTTP je skoro jako síťový souborový systém, umí např. i číst soubor od prostředka resp. stáhnout si libovolný rozsah bajtů (hlavička Range
) nebo si stáhnout metadata (metoda HEAD
) aniž by bylo potřeba stahovat celý soubor. Ale stále tomu něco chybí (hlavně strojově čitelný standardizovaný výpis adresářů), což tedy tak nějak řeší protokol WebDAV.
Pak by stačilo mít nějak dohodnutý formát náhledů (třeba jen konvence, jak mají být pojmenované), aby nebylo potřeba stahovat vždy všechno, a jen bys řekl: „tady na tom síťovém disku jsou fotky“ a uživatel by si je otevřel třeba v Gwenview nebo jiné nativní aplikaci, fungovalo by tam jeho oblíbené ovládání (ať už přes dotykovou obrazovku, kolečko myši nebo klávesové zkratky, na které je zvyklý) a další funkce.
Resp. ono to s tím WebDAVem vlastně funguje už dnes a Dolphin nebo Gwenview s tím pracují podobně jako s místním diskem. A když budou mít např. JPEGy v sobě náhledy, tak by prohlížeč nemusel stahovat celé soubory, ale z každého si načíst jen ten náhled, totéž pro EXIF metadata.
Autor pak nemusí nic programovat a jen nahraje soubory do složky na serveru. A čtenář použije aplikaci, na kterou je zvyklý a prohlíží si to podobně jako svoje fotky na lokálním disku.
P.S. WebDAV je tu přes dvacet let, nejedná se o žádnou novinku.
<swipable_gallery>
a prostě mu hodil seznam fotek a náhledů. Ne jako knihovnu, ale prostě část standardu.
Pak třeba taky když se podíváš, tak HTML definuje různé formulářové prvky. Pěkné. Ale proč se zastavit u tohohle? Proč nemít vysoko-úrovňovější widgety, jako třeba menu? Dneska když chceš udělat stromové menu, tak abys buď použil framework, nebo si to plácal pořád dokola z absurdně nízkoúrovňové abstrakce. A těhle případů se dá najít hodně. Přitom máš poměrně dobře definovaný set očekávání toho co drtivá vetšina webů/uživatelů často používá. Ani to nemusíš vymýšlet, doslova se stačí podívat na to co definuje většina knihoven widgetů pro desktop.
Další nevýhoda nízkoúrovňovosti je že si to každý plácá po svém a kolikrát u moderní webové aplikace vůbec netušíš co je ovládací prvek a co není, natož abys vůbec chápal jak ho ovládat.
Existovalo to, jmenovalo se to XUL a byla v tom napsána Mozilla, Firefox a Thunderbird (ten ještě na XUL přežívá). Naneštěstí se to nikdy nechytlo.Treba to prislo moc brzy. V dobe, kdy skutecne vetsina webu byly opravdu staticke dokumenty.
o některém víkendu naprogramovat klienta v Rustu.
už to bude :O :O
The search engine calculates a score that aggressively favors text-heavy websites, and punishes those that have too many modern web design features. This is in a sense the opposite of what most major search engines do, they favor modern websites over old-looking ones. Most links you find here will be nearly impossible to find on a regular search engine, as they aren't sufficiently search engine optimized.
unlike in many other search engines, depending on what you are looking for, you may find the best results in the middle of the listingPro hledání výrazů, kde nemám jasnou představu o tom co chci najít a zároveň jsem zvědavý co k tématu na webu existuje aniž by se to dalo přes dnešní vyhledávače najít, mi to přijde zajímavé. Dovedu si představit, že to čas od času budu používat jako doplňek k ostatním vyhledávačům. S tou "modernosti webu" je to tak, že se mimo jiné výrazně penalizuje každý javascript element na stránce :) Jinak linkoval jsem to tu proto, že mi tohle zatím přijde jako asi nejužitečnější výstup z toho hnutí kolem gemini protokolu. Ve výsledku totiž stejně zůstanu u webu, a i ty stránky těch několika nadšenců si později přečtu spíš přes webový prohlížeč. A vliv toho gemini protokolu budu vnímat přes jednoduchý design některých stránek, a projekty které z toho prostředí vzešli, jako ten vyhledávač.
S tou "modernosti webu" je to tak, že se mimo jiné výrazně penalizuje každý javascript element na stránce :):D
nevim teda jako hele :D sem nejdřiv myslela žeto asi teprve ňák natrénujou tim jak to jakoby budou lidi používat ale asi ne :D
If you are looking for fact, this is almost certainly the wrong tool. If you are looking for serendipity, you're on the right track.