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 ... 14
1
Distribuce / Re:Proč vychází tolik jader pro RHEL/Alma?
« kdy: 30. 07. 2025, 13:37:53 »
Pokud se nepletu, tak u windows se zranitelnosti zverejnuji az v okamziku, kdy jsou k dispozici zaplaty.

Embargo date je obvykle domluvené napříč produkty. Takže ve chvíli, kdy se ta informace zveřejní v CVE databázi to prostě musí RHEL vydat.

Windows specifické chyby asi mohou mít embargo dlouhé podle potřeby Microsoftu. Ale linux není jen RHEL.

2
Hetzner má dost šílené ověřování důvěryhodnosti klienta. Něco se jim nelíbí a vůbec Vám účet nezaloží (důvod samozřejmě nezjistíte). A ještě Vám následně řeknou, že nemá smysl to zkoušet znovu.

https://docs.hetzner.com/general/others/fraud-prevention-faq/

Takže dejte pozor na VPN, včetně IPv6 tunelů.


3
Software / Re:Sériový terminál s ovládáním RTS, DTR,…
« kdy: 16. 06. 2025, 17:09:37 »
moserial https://help.gnome.org/users/moserial/stable/intro.html.en má tlačítka pro RTS a DTR.

Některé věci se mi na něm nelíbí, ale na řádkové protokoly celkem funguje.

4
Vývoj / Re:Je jazyk C skutočne ťažký?
« kdy: 12. 06. 2025, 14:46:00 »
Ale porad si myslim, ze to neni nijak slozity jazyk, pouze jsou v nem zaludnosti.

C je syntakticky jednoduchý jazyk. Ale není jednoduchý na použití.

V porovnání s veškerou konkurencí kromě čistého ASM mu chybí jakékoliv pomůcky pro efektivní práci. Není skoro žádná standardní knihovna. Člověk si to prostě musí odedřít s malloc/free, pointery a polem. A pořád u toho dávat pozor.

Někdy je to nutné, ale většinou ne.

5
Vývoj / Re:Je jazyk C skutočne ťažký?
« kdy: 11. 06. 2025, 13:03:33 »
Kód: [Vybrat]
uint32_t *p_u32 = 0x00000040;
*p_u32 = 0x12345678; // zapiš hodnotu 0x12345678 na adresu 0x00000040

Toto je naprosto legitimní C-kód, sic platform specific.

To není tak úplně pravda. Tohle je legální jen s "volatile". Jinak bude optimalizátor provádět psí kusy.

6
Vývoj / Re:No code mobilní apka
« kdy: 11. 06. 2025, 11:16:43 »
Pokud web, tak by stálo za to zvážit PWA. Jediná (velká) nevýhoda.. uživatelé na ně nejsou zvyklí a nenajdou je v app store.

7
Vývoj / Re:Je jazyk C skutočne ťažký?
« kdy: 11. 06. 2025, 11:14:41 »
Když píšete vlastní datovou strukturu v Rustu stylem jako ve standardní knihovně, tak používate unsafe Rust a kompilátor vám s tím moc nepomůže (naopak tam jsou občas větší špeky než v C - to je aspoň můj subjektivní názor).

Jen pokud nutně potřebujete speciální pointery.

On je trošku problém, že se v Rustu snaží hodně lidí psát jako by to bylo C (protože na něj z C přešli). Jsou případy, kdy to může být nutné, ale většina lidí nepíše nový typ datové struktury nebo nový async executor každý den.

(A)Rc a Weak by mělo pro většinu účelů s referencemi bohatě stačit.

Jo, pokud píšete no_std embedded kód bez heapu, tak to začíná být zajímavější. To přiznávám. Ale to bylo i to C.

Abychom se vrátili k tématu. C je těžké a občas dává programátorovi pocit, že to má pod kontrolou, i když něco přehlédl. Rust je těžký, protože za to přehlédnutí programátorovi vynadá. A oba jazyky dávají v "unsafe" režimu možnosti jak udělat něco nedovoleného.

Možná bychom to mohli zobecnit na.. programování je těžké a nemusíme si přidělávat práci ještě použitím nevhodného jazyka. Základy domu taky nekopu lžící a použiju bagr.

8
Sítě / Re:Metronet končí, ke komu přejít?
« kdy: 11. 06. 2025, 09:50:53 »
Zůstal jsem a podmínky se zatím nezměnily. Takže taky v pohodě.

9
Vývoj / Re:Je jazyk C skutočne ťažký?
« kdy: 11. 06. 2025, 09:43:40 »
Praveze C umoznuje psat tak ci onak. Je to o tom jak si programator projekt zorganizuje.

Programátor si může přidat komentáře a rozdělit soubory. Jenže překladač z toho tu sémantiku nepozná. Neví jaký je záměr. V Rustu můžeme (no spíš musíme) překladači říct, jak dlouho daný pointer žije. V C++ existuje alespoň unique_ptr / shared_ptr. V C to u pointeru není jak vyjádřit.

Což omezuje možnosti automatické analýzy a optimalizace. Takže to musí hlídat programátor a tím dochází k chybám, protože lidi dělají chyby.

10
Software / Re:Algoritmus pro doporučování zboží v e-shopu
« kdy: 11. 06. 2025, 09:34:01 »
Ake klucove slova a algoritmy mam hladat, ked chcem implementovat odporucania tovaru pre maly eshop (100-1000) produktov?

Nechcem do toho tahat externe sluzby, proste chcem mat privacy pod kontrolou vo vlastnej databaze (Mariadb, alternativny Redis).

Google mimomentalne vyhadzuje len AI recomandation engine, ako keby nic ine ako AI nejestvovalo.

https://en.wikipedia.org/wiki/Apriori_algorithm

11
Vývoj / Re:Je jazyk C skutočne ťažký?
« kdy: 11. 06. 2025, 08:52:26 »
...Rust Vás jen donutí je explicitně pojmenovat a vyřešit.
Jo tak proto to pri kompilaci sebe sama hlasi kazdej jeden radek kodu ze je vadnej ... teda nez ta kompilace zbuchne, protoze to samosebe zkopilovat neumi.

Zjevne kvalitka ....

Protože bootstraping překladače je něco, co děláme všichni každý den. Bootstraping gcc jsem dělal přesně dvakrát v životě. A taky to vyžadovalo binárky, pak statický build a pak teprve finální build s optimalizacemi a knihovnami.

A Rust navíc má zdokumentované proč to tak je. Kompilujete překladač s kódem, který teprve bude stabilní (v té nové verzi). Jelikož to Rust hlídá, tak to za normálních okolností nedovolí. Proto je tam pro bootstrap speciální proměnná, která ty nightly-only kontroly vypne.

https://rustc-dev-guide.rust-lang.org/building/bootstrapping/what-bootstrapping-does.html#complications-of-bootstrapping

12
Vývoj / Re:Je jazyk C skutočne ťažký?
« kdy: 11. 06. 2025, 08:45:45 »
A hádáte se zbytečně. C totiž je těžké. Nejde jen o různé pasti s undefined behavior. Popravdě jste tu zatím všechny ukázky založili na jediné oblasti, čísla se znaménkem.

Hlavní důvod proč je C těžké, je neexistence knihovny standardních datových struktur a masivní použití (často netypovaných void) pointerů.

- C nemá strukturu pro asociativní pole (ať už hash nebo strom)
- C neumí pohlídat přetečení bufferu
- C neumí pohlídat use-after-free

Takže aby programátor neudělal logickou chybu, musí držet v hlavě celý datový model aplikace a vědět, komu patří který pointer, kdo je zodpovědný za uvolnění atd.

Proto vznikají články jako už zmíněný https://floooh.github.io/2018/06/17/handles-vs-pointers.html , proto máme valgrind (a taky glib nebo Qt/QML pro C++).

Ano, možnost toto všechno řídit ručně umožní vyždímat i poslední kousek výkonu. Tedy možná, protože dnešní procesory jsou tak složité, že optimalizace programátorem naopak stav často zhorší.

Naprostá většina aplikací toto nepotřebuje. Naprostá většina aplikací potřebuje spolehlivou logiku a datový model víc, než optimalizaci na HPC nebo absolutně nejnižší možnou latenci.

C je jen o malý schůdek nad assemblerem. A kolik kódu jste za poslední dekádu napsali v ASM? Obojí se hodí, až když uděláte profiling a zjistíte, že Vás opravdu omezuje funkce na násobení matice nebo něco podobného (https://www.laws-of-software.com/laws/knuth/ ).

Ale na zbytek aplikace je mnohem vhodnější použít něco, kde se můžete soustředit na to CO to má dělat místo na to, JAK to je implementované na nízké úrovni.

C++ má spoustu podobných pastí, ale alespoň má STL, takže máte smart pointery a nemusíte si psát věci jako Vector nebo iterátory pořád dokola. Rust zase vyžaduje pochopení lifetimes pro jakoukoliv složitější strukturu a je přísný při překladu.

13
Vývoj / Re:Je jazyk C skutočne ťažký?
« kdy: 11. 06. 2025, 08:20:02 »
To, co tu tvrdíme už nějakou dobu. Nechat C jen tam, kde je to nezbytně nutné. A tam, kde chceš performance, ale není nutně důvod použít C, použít třeba Rust. Který dá +- podobný výkon, ale z principu vyloučí velmi časté chyby z C.

Proč lidi tolik trvají na tom, že i šroub musí zatlouct kladivem, jen proto, že je to o něco rychlejší, než najít ten šroubovák?  :D

Ono psát nějaké datové struktury v Rustu je celkem chuťovka. Ve standardní knihovně se k tomu používá unsafe Rust a opět vám hrozí nedefinované chování kvůli aliasingu. Navíc řešíte řešíte problémy, které v C nejsou, jako například, jak vhodně použít PhantomData.


Protože ty problémy v C jsou. Schované. Rust Vás jen donutí je explicitně pojmenovat a vyřešit.


Tady prezentovaná zásadní výhoda C - výkon a přímé napojení na hw - je i jeho zásadní nevýhodou. Překladač nemá dost informací o vysokoúrovňovém záměru a nemůže tudíž aplikovat všechny optimalizace a kontroly.

14
Sítě / Re:Vodafone (exUPC) vs. PODA (GPON) Internet
« kdy: 10. 06. 2025, 09:16:52 »
Nesetkal jsem se s mobilem s Androidem ve stáří min. posledních 5 let, který by neuměl OTG. Ale možná nějaký takový existuje, to nepopírám.

Mobily OTG umí a uživatelé o tom netuší. Původní micro USB konektory potřebovaly adaptér (a ne všechny mobily to uměly). Původní iPhone to samé, byl nutný adaptér.

Nové USB-C telefony teoreticky flashku připojí, ale zase.. USB-C flash (pořád celkem neobvyklé, nemám ani jednu takovou) nebo adaptér.

Tohle prostě ví a používá minimum lidí.

Nemluvě o tom, že flashky jsou ideální tak akorát na ztracení.

Na přenos fotek z mobilu do PC stačí CTRL+C a CTRL+V, k tomu fakt netřeba žádná extra aplikace.

Jenže to znamená, že musíte najít správný "disk", najít DCIM složku a celkem nekomfortně vybírat soubory. Pro některé tzv. "obyčejné uživatele" je to už na hraně jejich schopností.

Aplikace pro správu fotek tohle mají mnohem lépe vyřešené. Prostě to pozná připojený foťák a rovnou nabídne import, roztřídí do složek, ukáže časy, mapu atd.

Ale základní xDSL tarif býval ještě loni (?) 20/5 a vím, že na vesnicích i to může být nedosažitelná rychlost.

Jo a bylo to u toho xDSL 20/2 a 50/5. A 2 Mbps upload už fakt není nic moc.

15
Sítě / Re:Vodafone (exUPC) vs. PODA (GPON) Internet
« kdy: 09. 06. 2025, 21:48:03 »
Kolik BFU má ty konferenční hovory? Nikdo. Leda vykecávání přes Messenger nebo WhatsApp, kde i v případě použití videohovoru je ten datový traffic nula, nula, nic.
A datový traffic je nula nula nic, když jste doma sám. Ale během COVIDu pracovaly z domu celé domácnosti a ještě k tomu měly online výuku i děti. A překvapivě lidi zjišťovali, že už to nějakou rychlost internetu potřebuje.

Nás je doma sedm. Díky za starost. Kolik vás? Z velké míry je to problém naprosto umělý pokud trpíte alespoň nějakým 16/8. Základním problémem dnešní doby je rozlišovat mezi chtěným a nutným, fakt.


Ja netrpím, i když asymetrie 1:20 mi už vadí. Ale základní xDSL tarif býval ještě loni (?) 20/5 a vím, že na vesnicích i to může být nedosažitelná rychlost.

Stran: [1] 2 3 ... 14