Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Martin Sivák

Stran: [1] 2 3 ... 10
1
Sítě / Re:Mikrotik - 1 hlavní, 2 Mikrotik vedlejší
« kdy: 03. 07. 2023, 13:23:45 »
Koukam ze dorazil dalsi z mistnich odborniku ... ktery ovsem nema poneti ani o bezpecnosti ani o technickych aspektech. Broadcast domain ti nic nerika ze? A ne kazdy chce, aby si kolemjdouci browsali po jeho discich.

Moc to komplikujete. Jací kolemjdoucí? Tady se nejpíše jedná jen o pokrytí druhého patra pro potřeby rodiny. Wifi je (doufám) zaheslovaná.

Oddělení provozu nikdo v zadání nepožadoval. Krom toho, laptopy a mobily členů rodiny mají předpokládám mít přístup k NASu a tiskárnám odevšad z ethernetu i wifi.

Mám to úplně stejně.

Druhý mikrotik má zjednodušeně:

- vypnutý dhcp server
- přehozený port 1 z WAN do LAN a propojený do bridge s ostatními
- (v mém případě tedy komplikovaněji s tagováním vlan, protože já oddělení sítí provozuju)
- nastavený CAPsMan klient

2
Citace
Jenže žádný z těch 274 balíčkovacích systémů (a tolik jich zase není) neřeší nezávislost desktopových aplikací na jádru systému. Takže každý uživatel pak musí řešit, že si aplikaci nemůže pustit v té verzi, kterou potřebuje.

Tohle dnes řeší minimálně 3 balíčkovací systémy - Appimage, Flatpack a Snap. Každý z nich má samozřejmě nějaká plus a nějaká mínus. Vy preferujete Flatpack, ale někdo jiný Snap a další zase Appimage.

Máte pravdu, na Snap jsem zapomněl. Canonical ten jeho "App store" drží bohužel dost "uzavřený".

Appimage se neinstaluje a typicky nemá žádnou integraci se systémem balíčků, je to takový ekvivalent DMG z OS X.

O Flatpaku už jsem mluvil. Je zaštítěný Free Desktopem, nativní v Gnome, umožňuje repozitáře třetích stran... takže chápete proč ho mám raději než Snap. (Ale uživatelé Ubuntu by možná mluvili jinak)

Výsledek pak je, že uživatel potřebuje 4 (se systémovým mechanismem - RPM/DEB/...) různé systémy pro instalaci programů.

RPM/DEB se postupně ukázaly jako nevhodné pro rychle se vyvíjející desktopové aplikace. Obzvláště je to patrné na tom Debianu, který je hodně konzervativní. Provozovat stable základ a zároveň aktuální unstable/testing aplikace není až tak úplně triviální.

Fedora měla zase jiný problém, upgrade každého půl roku, často komplet překopané knihovny..

A obojí jak RPM tak DEB vyžaduje práva administrátora pro instalaci aplikací. Do příchodu AppImage byly jedinou uživatelskou možností statické binárky nebo configure/make do lokálního prefixu.

Navíc v dnešní době malware je poněkud riskantní instalovat věci ze zdrojáků. I ty AppImage jsou dost na hraně.

Flatpak nebo Snap tyto problémy řeší, poskytují sandbox s omezením práv aplikace.

Citace
NPM, CPAN, pip, cargo a podobně nejsou konkurencí.
Těžko říct, jestli to nazývat konkurencí, ale rozhodně to jsou další balíčkovací systémy, které musí uživatel mít, pokud si chce instalovat nějaký program. Třeba spustit si běžný moderní(čti: hipsterský) JS program z Githubu je bez NPM prakticky nerealizovatelné. A dtto pro Python a PIP.

To je asi tak stejná úroveň, jako nutnost použít cargo pro nainstalování závislostí Rust zdrojáků. Tohle je typicky vývojářské použití a většina obyčejných uživatelů npm používat nebude (osobně mi pár _Gigabyte_ javascriptových zdrojáků u malého webového projektu přišlo dost šílené).

Pip / Virtualenv pro Python jsou na tom podobně. Obzvláště ve chvíli, kdy uděláte upgrade systémového Pythonu a venv prefixy přestanou fungovat, protože symlinky jsou na konkrétní verzi, která zmizela.

3
Kdyby skutečně šlo o principy, tak v Debianu není třeba SQLite, asi nejznámější příklad Open-Source, not Open-Contribution SW co v Debianu je.

Ale SQLite přijímá patche

"the project does not accept patches from people who have not submitted an affidavit dedicating their contribution into the public domain."

stačí jen "podepsat" formu CLA. Jenže gpxsee toto neumožňuje (na webu má jen vágní komentář, že možná někdy..).

4
Ten problém je ale právě v tom, že funguje jinak. Jinak než těch 274 dalších balíčkovacích mechanismů, které by preferoval zase někdo jiný. Pokus nahradit DEB/RPM, Appimage, NPM, CPAN, ..., pomocí Flatpacku opravdu neskončí jedním univerzálním standardem...

Jenže žádný z těch 274 balíčkovacích systémů (a tolik jich zase není) neřeší nezávislost desktopových aplikací na jádru systému. Takže každý uživatel pak musí řešit, že si aplikaci nemůže pustit v té verzi, kterou potřebuje. A to nemluvím o tom, že musí mít práva instalovat balíčky.

AppImage je konkurence Flatpaku, ale neumí updaty, neumí Runtimes atd. NPM, CPAN, pip, cargo a podobně nejsou konkurencí. Systémové knihovny by měly být zabalené, desktopové (nezávislé na systému) si to nějak musí zařídit a pro vývoj se dá instalovat jiná sada knihoven pro každý projekt.

Takže ve skutečnosti by desktopová aplikace dneska vůbec nemusela podporovat třeba RPM, protože Fedora podporuje Flatpak ve všech spinech. A možná ani DEB, protože Ubuntu zase preferuje AppImage...

5
Opravdu na Linuxu chceme mít část SW v distribučním repu, část na Flathubu,

ANO! Jako uživatel Fedora Silverblue přesně to chci :) Umožňuje mi to používat aplikaci (nejnovější) jakou potřebuji na systému, který chci (třeba i starší verze..), aniž bych musel řešit závislosti.

Dnes to směřuje k tomu, že na Windows/OS X/Androidu je všechen SW v jednom App store a na Linuxu po celém internetu v podobě 275 typů balíčků... Jo, pokrok nezastavíš!

Jenže Flatpak funguje jinak. Je hierarchický, takže všechny hlavní závislosti se automaticky upgradují jen jednou pro každý Runtime (a těch je jen pár). Appimage i aplikace v App storech mají závislosti bundlované a neumí je updatovat...

Citace
Tak asi by som odporucil skusit ho dostat na flathub.

Třeba u toho zmíněného gpxsee to autor explicitně odmítl. Před pěti lety.. trošku jsem do něj šťouchnul, třeba ho to přiměje se zamyslet :)

V Debianu to znamená sáhodlouhé diskuze v různých "podvýborech" a kontakt s roztříštěnou, archaickou a v každé skupině jinak fungující infrastrukturou...

No ta hlavní námitka o tom, že autor gpxsee nepřijímá žádné patche je pro Debian dost zásadní:

Citace
Only localization contributions are accepted at the moment, code pull requests will be rejected.

Debian si zakládá na některých principech, které ostatní moc neřeší. A tohle je červený hadr na býka.

6
Lide kteri ten ten SW vyviji jsou pysni na sve vize a feedback od uzivatelu z produkce je nezajima.

Zajímá, ale musí mít nějaký hmatatelný a měřitelný přínos (nejlépe podložený daty). Oni ten kód následně musí udržovat a testovat, tak prostě nemohou přijmout cokoliv od kohokoliv.

Nicméně na sebestředné jedince samozřejmě narazíte v IT občas taky..

7
Nemali by o tom co bude v distribucii rozhodnut skor jej pouzivatelia ako par jednotlivcov?

To se lépe řekne, než udělá. Musíte mít nějaký způsob jak toho uživatele ověřit. Takže ve Fedoře to chce účet, bug na package review a proven packager sponzora.

Na větší změny jsou volby do FESCo (Fedora steering comitee). Také existují procesy na velké změny atd, ale finálně rozhoduje FESCo. Náhodný kolemjdoucí prostě tu sílu mít nemůže, protože nemá tu zodpovědnost (ani zkušenosti).

Pro balíky mimo Fedoru je tu copr, kde si každý může uveřejnit co chce. Ale nemá to ty garance. Ubuntu myslím mělo něco podobného s repozitáři z launchpadu. Debian samotný v tomto směru neznám.

8
- "Mas projektu adresar extlibs. Proc?, udelej separatni baliky pro kazdou knihovnu i kdyz jsou to tvoje vlastni knihovny a nikdo jiny nepouziva".
- "Mas v projektu opatchovanou verzi knohovny ANTLR". Patch resi SEGFAULT, ktery mi nehodlame opravit. Prejdi na verzi knihovny z distribuce"
- Nasli jsme v tvym projektu neco co vypada jako tabulka znaku Unicode, prejdi na knihovnu libICU.

Tohle má společného jmenovatele. Jak jste vy moc starý na tolik práce, tak oni mají dost práce i bez toho, aby museli řešit několik bundlovaných kopií dat a knihoven v případě třeba CVE. Proto všechny velké distribuce zakazují bundling. Opraví se distribuční knihovna a všechny ostatní programy jsou tím automaticky opraveny taky.

Vaše ušetřená práce by byla přidaná práce pro maintainery na roky dopředu.

Mám balíky ve Fedoře (no měl jsem), dělal jsem i maintainera v RHELu a moc dobře vím co ta údržba distribuce obnáší. Obzvláště u projektů, kterým se odmlčí autor, protože se ožení, změní práci, přejete ho auto (reálná a zažitá situace..).

Chápejte, že to ani pro ty správce není tak snadné, jak to vypadá.

9
Server / Re:Google, Seznam vs. domácí server
« kdy: 09. 03. 2023, 14:48:01 »
Ještě se dá uvažovat nad konternerizovaným řešením jako třeba mailcow: https://mailcow.email/

Dost věcí to řeší "samo".

Ale nějaká údržba a zálohování je vždy potřeba. Maily celé rodině ztratit nechcete.

10
Vývoj / Re:Stackoverflow.com licence + licence dokumentací
« kdy: 07. 02. 2023, 14:30:04 »
Tohle je poměrně sporné tvrzení, protože pomíjí třeba public domain.

Public domain u software český právní systém vůbec nezná.

Toto je i princip účinnosti GPL. Buď souhlasíte s podmínkami a máte spoustu práv. Nebo nesouhlasíte (prohlašujete, že je GPL neplatná..), ale pak nemáte práva žádná.

11
Server / Re:Hosting s Grafana nebo vzdáleným přístupem k DB?
« kdy: 11. 01. 2023, 16:44:28 »
Na veškeré podivné hrátky si platím VPS. A Influxdb pro meteostanici (no spíš senzorovou síť) + proxy na protokol + Grafanu mám právě jako jedno z použití.

Dobře a tedy konkrétní doporučení od koho přesně a který hostingový program je na takové odzkoušené hraní si s Grafanou?

No VPS je virtuální privátní server. Takže tam už pak mám Ubuntu LTS, Docker a kontejnery s aplikacemi co potřebuju (je jich víc než ty senzory - Nextcloud, Inventree atd.). To samozřejmě není klasický webhosting.

Cena u vpsFree je 300 Kč měsíc, ale já tam ty 4 GB RAM občas i zaplním :)

Zkoušel jsem "levnou" VPS u Contabo a nakonec se to dostalo na zhruba stejné peníze, tak už mám jen to vpsFree.

12
Server / Re:Hosting s Grafana nebo vzdáleným přístupem k DB?
« kdy: 11. 01. 2023, 12:17:58 »
Na veškeré podivné hrátky si platím VPS. A Influxdb pro meteostanici (no spíš senzorovou síť) + proxy na protokol + Grafanu mám právě jako jedno z použití.

13
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 06. 12. 2022, 11:41:13 »
Reference ostatně mají téměř všechny mainstreamové jazyky a lifetimy jsou implicitně v každém překladači provádějícím escape analýzu.

Implicitní ano, každý překladač si hlídá co kde má a jestli to ještě žije. Jenže u referencí to nejde. Objekt na který reference ukazuje může teoreticky žít nekonečně dlouho a nebo taky ne. Takže se používá buď runtime RC, GC nebo statické lifetimes. Případně immutable sémantika z hlediska jazyka, ale ta také interně tu paměť musí uvolňovat, protože prakticky nemáme neomezené množství..

14
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 06. 12. 2022, 10:27:06 »
Popravdě mám dojem, že se v té teorii typů dost vyžíváte a děláte jí spíš medvědí službu.

Ano, indukční definice typu sudá čísla je pěkná ukázka. A v dalším kódu už pak opravdu můžeme mít jenom krásné garantované sudé číslo a optimalizátor tu informaci může pěkně využít.

Jenže co se stane, když načtete uživatelský vstup a bude tam číslo liché? Nějaký implicitní nebo explicitní parser musí rozhodnout, jestli ta hodnota je v pořádku nebo není a nějak zareagovat. A to je část, co se z ukázek síly funkcionálního programování typicky vypouští.

Vysokoúrovňové informace pro optimalizátor nejsou navíc nezbytně omezeny jen na funkcionální jazyky. Ada a Eiffel mají třeba design by contract (= vstupní podmínky pro parametry), ostatní jazyky budou mít nějaký interface pro next, stream, iterátory nebo cokoliv podobného. (Lazy generátor v Haskellu interně stejně nic jiného nedělá). Dneska s LLVM a LTO se navíc optimalizace často dělají až nad mezikódem.

Pokud se budeme bavit o generických maticích, tak tu informaci o velikosti si to samozřejmě musí nést s sebou, pokud není známá v době překladu. VTable tam být nemusí, protože matice jsou specializovaný případ a stačí číslo. Maximálně, kdyby to bylo tak chytré, že pro některé operace nad specifickými velikostmi použije speciální extrémně optimalizovanou implementaci. Ale opět, v runtime jde o vstup od uživatele, takže tam musí být parser, error handling a nějaký dynamický dispatch.

Pokud by vstupem od uživatele byl samotný typ i s hodnotou (řekněme program "kompot", který správně odpeckuje, pomele, vyrobí etiketu podle počtu a typu vstupního ovoce), tak to interně samozřejmě dynamický dispatch mít bude. Jednoduše pro to, že každé to ovoce (Typ) se zpracovává jinak a náš abstraktní turingův stroj (CPU) neumí nic jiného než skoky dle adres, které si někde přečte.

Procesor s matematickou indukcí ještě nikdo nenapsal a z hlediska strojového kódu to nakonec vždy skončí procedurálně, takže výhoda a nevýhoda těchto jazyků je hlavně ve formální analýze během překladu. Ale ta se dá podpořit i jinak.


Co se typů v Rustu týče, tak borrow checker je move sémantika + escape analysis. Ale lifetime specifier je jednoznačně součást definovaného typu a poskytuje borrow checkeru informace navíc (= něco dle designu musí žít déle než něco jiného). Tuto informaci čistě z kódu neodvodíte, protože algoritmus co tam vývojář napíše, může být z hlediska požadavků typu špatně.

Lifetime pro dokázání správnosti nakládání s pamětí teoreticky nepotřebujete, pokud životnost hlídá jiný mechanizmus jako ref count nebo GC. Ale to má zase runtime implikace.

15
Dostupnost čehokoliv s STM32 je teď hrozná. V mém případě STM32L031K6. A to samé platí i pro nástroje, STLink v3 mají akorát v SOS electronic za dvojnásobek normální ceny a ISOL desku jsem propásl úplně :(

Jenže.. ATmegy před pár lety hrozně zdražily a v poměru ceny k výkonu se vůbec nevyplatilo je používat, protože ARMy (hlavně různé M0+) byly příjemně levné.

Lead time na STM32 je často i dva roky. Snad se to zlepší než vyčerpám zásoby :)

Stran: [1] 2 3 ... 10