Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Vladimír Burian kdy Dnes v 09:35:37 »
Co se tyce knihoven vs vlastní kod, je tu este vykonovy aspekt.

Psal jsem nedavno jeden primitivni stream procesor, na stdin prijde hromada JSONu, udela to urcitou analyzu pres klouzave okno, vysype na stdout, slouzi jako plugin do jineho softu.

Prototyp v pythonu funguje ok.
Predelavka do go s ocekavanim narustu vykonu, realita, vykon je tretinovy.

Profilingem zjisteno, ze python je sice pomalejsi jazyk, ale ze jeho knihovny pro práci se stdio a JSON jsou mnohem rychlejsi, zrejme psane v C.

A ja se obavam, ze moje knihovny hy hyly este horsi, nez ty GOckove.

To mi přijde velmi podezřelé.

Co se týče stdin, tak tuším, že v pythonu je ve výchozím stavu bufferovaný, v golang ne. Jinak nevím, v čem by práce se stdin mohla být jiná/více optimální.

Co se týče deserializace jsonu, tak tam můžou být rozdíly velké, i v rámci různých knihoven ve stejném jazyce. Každopádně pořád bych očekával, že optimálnějsí knihovna v golangu bude rychlejší jak optimálnější knihovna v pythonu. Samozřejmě záleží na vstupu - těžko dělat úplně obecné závěry. Nicméně rychlý test mi dává zapravdu (deserializace 1.5e6 menších jsonů):

4.297s python json
1.618s python orjson

2.620s golang json
0.721s golang easyjson

0.393s rust serde_json


Když vezmu standardní knihovny v golangu vs pythonu, je golang rychlejší. Když vezmu optimálnější knihovny třetích stran (easyjson vs orjson), je golang rychlejší. Nicméně pravda - pokud vezmu lepší python knihovnu a standardní golang knihovnu, může být python rychlejší.

Standardní json knihovna v golangu upřednostňuje správnost nad rychlostí - před deserializací a po serializaci provádí ještě zvlášť kontrolu vstupu/výstupu, jestli je validní. Tak kontrola trvá skoro stejně tak dlouho, jako vlastní serializace/deserializace. Čili jenom tím golang ztrácí cca polovinu výkonu. Proto u easyjson pozor na to, že pro nejvyšší výkon je potřeba volat přímo metodu UnmarshalJSON na dané struktuře místo standardní funkce json.Unmarshal (pozn. easyjson generuje kód přímo pro serializaci/deserializaci konkrétních typů).

Pak je ještě možnost napsat to v rustu. :D
2
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od novomente kdy Dnes v 08:47:40 »
Když vývojář dostane zadání, musí ho napřed analyzovat a vybrat pro něj vhodný jazyk, ve kterém ho je nejlépe zakódovat. Každý programovací jazyk má svá specifika (výhody i nevýhody), která se musí při oné volbě brát v úvahu.

Pokud se bavíme o komerčním vývoji, o firmách, tak tam je většinou rozhodnuto předem. Je tam obecně snaha omezovat tyhle „zoo“ programovacích jazyků a technologií a mít to jednotné, aby mohla fungovat zastupitelnost, aby jeden programátor mohl přecházet mezi různými projekty té firmy a nestávalo se ti, že máš několik volných programátorů v jazyce X, ale práci máš pro programátora v jazyce Y.

Vybírat si můžeš, pokud je to tvůj projekt nebo jsi šéf vývoje a máš za úkol stavět něco na zelené louce. I tam je ale dobré myslet na to, kde najdeš potřebné programátory a jaké budou mít požadavky ostatní projekty té firmy, abys to měl do budoucna pokud možno jednotné. Větší firmy si můžou dovolit větší pestrost (byť to není moc záměr, spíš důsledek jakési volnosti a experimentů), u menších je spíš snaha mít jeden hlavní jazyk. A i když je někde víc jazyků současně, tak typicky spíš z historických důvodů a postupně se přechází, nové projekty se začínají jen v tom aktuálním.

Co vývojář, to originální osobnost. Co zadání + vývojář, to originální výsledek zpracování toho zadání. Nikdy jsem nepracoval ve vývojářském týmu. A dotaz zní: Máte také podobnou zkušenost s originalitou každého vývojáře? Mohu veřejně říci, že zpracování zadání (vývoj, programování atd.) je velice osobní záležitost?

Každý má nějaký styl, co je mu nejbližší a přirozené, k čemu se na základě svých zkušeností dopracoval. Spíš než hodnotit, co je správně a odsuzovat, co je špatně, je užitečnější se zajímat, co k tomu dotyčného vedlo, na základě jakých zkušeností k tomu došel. Na druhou stranu, pokud spolu ti lidé mají pracovat v jednom týmu na jednom projektu, tak je dobré, aby si domluvili nějaký kompromis a společné konvence, které budou dodržovat – rozumný člověk si může zachovat svůj názor, ale zároveň si je vědom toho, že dělat to „o trochu horším“ způsobem, ale jednotně, je užitečnější, než když to budou dělat všichni „lépe“ ale každý jinak.

Celkem jsem to musel čtyřikrát přepisovat prakticky od nuly, neboť jsem narazil na okamžik, kdy už jsem se v kódu sám nevyznal. Četl jsem, že dobrou věcí v programování je určit si nějaký svůj "styl" a toho se pak držet.
Programování už není zábava pro nerdy. Dneska je to business. Takže:
- kolik bude stát programátora číst existující kód?
- kolik bude stát kód napsat?
- kolik bude stát přidání nové funkcionality?
- cenu snižuje znovupoužitelnost
- kdy a kde nastanou chyby a kolik nás to bude stát?

Proto se vymýšlí nové jazyky, jinak by nám ten Assembler bohatě stačil.


Co vývojář, to originální osobnost. Co zadání + vývojář, to originální výsledek zpracování toho zadání. Nikdy jsem nepracoval ve vývojářském týmu. A dotaz zní: Máte také podobnou zkušenost s originalitou každého vývojáře? Mohu veřejně říci, že zpracování zadání (vývoj, programování atd.) je velice osobní záležitost?
Ano, a je to špatné. Protože to jde proti výše uvedenému.

Třeba mě se stalo, že jsem předělal nějakou část kódu a pak jsem se zamyslel nad tím, kolik práce s adopcí těch změn bude mít kolega. A nakonec jsem to zahodil jako neefektivní. Přínos mých změn byl menší jak nutnost kolegu přimět ho adoptovat.

Mnohokrát vám děkuji za odpověď. Byla mi velkým přínosem.

nm
3
Hardware / Re:Jaké NVR + kamery, aby byla podpora 5+ roků?
« Poslední příspěvek od Zopper kdy Dnes v 07:49:23 »
celé to na mě působí, jako by všechny výrobky byly jen jinak pojmenovaný a zakrabičkovaný čínský krám, prodávaný různými výrobci pod různými názvy.
Ano. To samé webové kamery, kamery do auta, mikrovlnky, myčky, ledničky, ... - vevnitř je jedna z já nevím, tří, čtyř variant co vyrábí dvě firmy, a jen to je zabalené do krabice s logem. Což ale není až tak divné: Kolik že těch výrobců CPU nebo GPU vlastně máme? A i tak, nakonec to stejně všichni vyrábí u TSMC.

Jak to řeší firmy, nevím - možná tam, kde je požadavek na dlouhodobou podporu nedávají Uniarch za osm stovek, ale  Unify za osmnáct set a víc? A nebo dají tu kameru za osm stovek a počítají s tím, že za pět let to stejně nebude nikdo předělávat a čistit, ale prostě se vyhodí a koupí nové.
4
Hardware / Jaké NVR + kamery, aby byla podpora 5+ roků?
« Poslední příspěvek od Xjmeno363 kdy Dnes v 00:17:06 »
Ahoj, následující část je spíše k zamyšlení a je hooodně dlouhá a klidně jí přeskočte:

Spiše k zamyšlení – potřebuji u rodičů nainstalovat NVR. Šel jsem cestou NVR + kamery. Vzal jsem v Alze 3 NVR a asi 11 kamer různých výrobců.

a bohužel jsem se přesvědčil, že kompatibilita je tristní i pres deklarovanou NVIF kompatibilitu. NVR si kamery běžně neumějí sami najit a nespárují se. Je třeba použít počáteční inicializaci pres PC, nebo dokonce mobilní aplikace. Z kamer se dá získat obraz jen pres RTSP, v režimu ONVIF se kamery často připojí, ale neumožnují pokročilou konfiguraci i když by mely apod. NVR mají podivnou konfiguraci IP – proč tam prostě není nastavení statické IP, nebo DHCPs a schovává se to pod podivnými výrazy jako „přiřadit kameře protokol“???

Všimli jste si, že na kamerách ubylo resetovací tlačítko? – když jí nějaký jouda zamkne a vrátí do alzy, tak jediné řešení je psát si někam do číny s Uniarch, nebo evolveo apod. – za mě šílené. Jak se to bude řešit u 2-3 roky staré kamery?

Některé už ani nemají statickou IP a je vyžadována zapojit do sítě s DHCPs a apka na android pro prvotní konfiguraci. Samozřejmě plus vlastní PoE  switch nebo výrobcem nedodaný nap. adaptér….všechno mám, ale…to by jeden zvracel.

Navíc masivní retro-branding
když jsem instaloval HiLook, všiml jsem si, ze se v ovladačích vyskytovaly názvy souboru Dahua nebo Axis, …iGET. V driverech a dll knihovnách je zase plno čínských nazvu. Při skenovaní nmapem se kamery podepisuji jako nějaké čínske krámy Gancchuong Vision camera......
celé to na mě působí, jako by všechny výrobky byly jen jinak pojmenovaný a zakrabičkovaný čínský krám, prodávaný různými výrobci pod různými názvy. I např. proces aktivace aplikace pro android u axis, uniarch evolveo a hilook je téměř totožný včetně umístěni tlačítek, liší se jen grafika. Tak jak to je doopravdy? Kdo to tedy vlastně vyrábí?



--------------
K otázce z úvodu:
Jaké máte zkušenosti a jak vybíráte kamery + NVR. Aby šlo z NVR konfigurovat např. přepínání infra, nebo využívat detekci pohybu v kameře, nastavení expozice…. Jak řešíte podporu a nové apky pro nové androidy/ios v horizontu řekněme 5 let?

Přeci jen jedna věc je cena NVR a kamer, ale daleko větší položka je instalace na baráku a fakt nechci, abych to po 3 letech zahodil a osazoval nové…

Jak to řeší ostatní firmy, které instaluji zabezp. systémy? To opravdu nainstaluji NVR a k němu nějaké kamery a stačí, že "jede" obraz přes rtsp? A klient je s tím spokojený???


Nechápu to...mam 10 let starou zkušenost, když jsem dával kamery na svůj barák a prakticky nic se nezměnilo…




   
5
Bazar / Prodám knihy o programování
« Poslední příspěvek od ping kdy 03. 10. 2025, 21:45:19 »
Ahoj, nabízím knihy k prodeji:
  • Java Puzzlers - 200 Kč
  • Java Coding Guidelines - 250 Kč
  • 24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them, 1. edice - 500 Kč
  • Writing Secure Code, 2. edice - 600 Kč
  • Code Complete, 2. edice - 600 Kč

Stav všech je jako nový, nejlépe osobní odběr - Praha.
6
Hardware / Re:Zapnutí úsporných režimů pro NVMe
« Poslední příspěvek od RDa kdy 03. 10. 2025, 21:03:29 »
Ale už se mi stalo, že jsem koupil vážně hřejivé SSD pro PCIe 5.0 (že sice nepotřebuji PCIe 5.0, ale myslel jsem si, že rychlosti budou lepší). No a to topilo i v idle jako **** a horký to bylo i s chladičem....tak letěl.

Pokud je chladič doplněk, aby se to lépe chladilo, tak super. Ostatně čipy jsou malé a teplo je šikovné rozvést.
Ale pokud je chladič takový rovnák na ohýbák, kdy se to bez něj samo na normální teploty neuchladí skoro ani v IDLE, tak je něco brutálně špatně.

Ve zkratce, pokud je to horké už v IDLE, měl bys uvažovat o výměně disku.

Taky takovych disku hromada pak umira. Mam nizsi desitky TB z techto modelu a doufam ze tam alespon NAND prezilo a upekl se tomu jenom radic (a to jsou "znackove" Crucial disky).

Nastesti uz existuje druha generace Gen5 radicu na mensim nm nodu, a v soucasnosti celkem vede WD SN8100 a dalsi znacky, ktere maj stejny radic (napr. Crucial T710).
7
Hardware / Re:Zapnutí úsporných režimů pro NVMe
« Poslední příspěvek od RDa kdy 03. 10. 2025, 20:56:45 »
nějaký board s intel n100, 
disk je 1e95:100b (nenašel jsem id na netu, ale SSSTC  SSSTC  XB2-311024 , možná odpovídá  CL.1 / CL.4 na webu).

SSSTC dela hlavne OEM disky, takze firmware se muze taky chovat podle specifickych prani zakaznika.

Resil jsem jeden uplne novej quirk abych rozjel jedno wtf frikulinske 867GiB SSSTC NVMe (ma to jine PID nez tvoje):

Kód: [Vybrat]
+       /*
+        * HMB (Host Memory Buffer) should not be used.
+        */
+       NVME_QUIRK_NO_HMB                       = (1 << 23),

        /*
+        * Some drives should not be configured with HMB even if they advertise the need.
+        */
+       if (dev->ctrl.quirks & NVME_QUIRK_NO_HMB) {
+               dev_warn(dev->ctrl.device,
+                       "host memory buffer usage is forbidden for this drive\n");
+               return 0;
+       }

+       { PCI_DEVICE(0x1e95, 0x1000),  /* 931GB Microsoft, SSSTC XA1-311024, Phison E19 */
+               .driver_data = NVME_QUIRK_NO_HMB, },
8
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Kit kdy 03. 10. 2025, 18:07:01 »
Obávám se, že když někdo neví, v jakém kódování má která data, tak ho nezachrání ani knihovna.

Tady taky narážíme na to, že vývoj softwaru není jen o technologiích, ale i o lidském chování. Pro spolupráci je kolikrát důležitější než nedělat chyby, nebýt kretén a uznat, že v programu chyba je a opravit ji.

Pokud by Pohoda to cizí písmenko zakódovala jako entitu, problém by nenastal.
9
Sítě / Re:Řešení malé LAN s IP kamerami
« Poslední příspěvek od darebacik kdy 03. 10. 2025, 17:16:48 »
OK, takze pojdem do VLANov
10
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Tomáš Crhonek kdy 03. 10. 2025, 16:53:03 »
Obávám se, že když někdo neví, v jakém kódování má která data, tak ho nezachrání ani knihovna.

Knihovny v jazycích, které jsem používal, používaly zásadně unicode, takže nepořádek ve stringu by musel být už před tím. Stejně je s podivem, že se dneska ještě používá ISO nebo starší kódování. Pokud je celý program v unicode, tak se tam špatný text v podstatě zadat ani nedá, to by to tam musel někdo špatně už napsat.
Stran: [1] 2 3 ... 10