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 - František Ryšánek

Stran: 1 ... 45 46 [47] 48 49 ... 84
691
Sítě / Re:Softwarová firma bez kabelového ethernetu
« kdy: 05. 03. 2020, 16:33:42 »
Nemají mezi sebou nikoho, kdo se doteď staral o síť, aby jim řekl, že je to kravina? Nebo se šéfům nepříjemé věci neříkají?

Nebo je pan kolega tazatel právě ten ajťák, který musí šéfovi vysvětlit, proč jsou potřeba tak drahé kabely se složitou montáží, když WiFi dává prakticky tolik megabitů, jako měď. Na to, aby to šéfovi vysvětlil, musí znát něco o tom, jak funguje ethernet a jak funguje wifi, a že to nejde srovnávat.

Když si jenom vezmu, jak často ve windowsech začne kravit a přihnívat wifina prostě proto, že Windows Update poaktualizoval generické vnitřnosti windows, ale ovladač wifiny zůstal starý... klasicky má wifina problémy se znovu připojit po probuzení noťase ze spánku apod... na metalickém ethernetu jsem tohle nikdy nezažil.

692
Sítě / Re:Softwarová firma bez kabelového ethernetu
« kdy: 05. 03. 2020, 16:25:16 »
..jsem se asi uklep... rozčilením :-) Prosím admina o výmaz...

693
Sítě / Re:Softwarová firma bez kabelového ethernetu
« kdy: 05. 03. 2020, 16:21:46 »
Ve sto lidech se nenašel ani jedinej, kterej by řekl, že podá výpověď, jestli tohle myslej vážně?

Těch sto lidí se vzalo kde, oni nevyrostli z nějakého menšího rozměru? Nemají mezi sebou nikoho, kdo se doteď staral o síť, aby jim řekl, že je to kravina? Nebo se šéfům nepříjemé věci neříkají?

Wifi na seriózní práci nefunguje prakticky ani ve chvíli, kdy jste na APčku sám. On se vždycky najde někdo, kdo si připadá děsně osvobozenej, že nepotřebuje ten kus drátu s kostkou na konci - a chodí a prudí, že mu nefunguje to či ono, databáze že se vleče, mailserver že se "kouše", práce s daty na fileserveru ho zdržuje... až si nakonec připojí ten drát a zjistí "tvle, ono to všecko jede jak z praku, že já vůl jsem se takovou dobu trápil wifinou". Komu není rady, tomu není pomoci.

Pamatuju si stesky v jedné debatě na OpenWRT fóru, že atherosí rádia (mluvilo se o konkrétním modelu), která se používají v mnoha APčkách různých výrobců, mají nějaké omezení ve firmwaru, že reálně utáhne řádově nízké desítky asociovaných klientů (dá se to trochu ladit snad alokací paměti ve firmwaru nebo co = uvnitř toho rádia = zkoušet různé buildy firmwaru). Ale uklidňuje mě, že desítky současně pracujících klientů na Wifi se budou chovat cca jako učebna ve škole blahé paměti na 10Mb koaxovém Ethernetu - už z hlediska sdílené kapacity. Takže na to omezení ve firmwaru nejspíš ani nedojedou.

Kamkoli jsem přišel, mají softwaráři nejnabušenější hardware (pravda trochu soutěžej se strojařema-konstruktérama). Sdílenou práci budou mít na serveru. A LAN pro seriózní práci budou řešit wifinou? Jako vážně? Víte jak se chová microsoftí sdílení disků (CIFS) když mu každou chvíli upadne konektivita na server?
Pravda je, že GIT umožňuje pracovat do značné míry v režimu "disconnected operations", a jednou za čas poslat push nebo merge request nebo jak se to jmenuje... ale teda...

Pokud do toho půjdou, tak to podle mého skončí kabelama po podlaze. Pokud budou mít rozum, tak ten daisy-mesh postaví na managed switchích a aspoň na páteřích si dají trochu záležet.

Wifi je tak do zasedačky pro hosty, pro mobilní telefony a pro zaměstnance, kteří rádi běhají při práci s noťasem po place.

694
Windows a jiné systémy / Re:GUI tookit pro Linux a Windows
« kdy: 05. 03. 2020, 15:51:18 »
Nezaznělo tady zatím Ultimate++. Mám čerstvou zkušenost na Windows, na Linuxu zatím nikoli. A jsem poměrně mile překvapen. Ano je to celé v C++. S licencí ve stylu BSD.

Co v tom chcete tvořit? Tzn. jaké potřebujete knihovny/komponenty?

696
...koukám neexistuje na ANSI terminálu escape sekvence, která by v kanonickém módu vložila pár znaků na aktuálně editovaný řádek :-( Takže jediná šance je terminál ve znakovém (raw) módu a napsat si to po svém.

697
šimrá mě v zátylku ungetc() .

Nevím jestli jsi to pochopil, hledám způsob jak je to tady, Po spuštění se hned vloží text který v tom řádku můžu editovat. Je to ukázka z pythonu.
https://i.stack.imgur.com/8ikmg.gif

...asi nakonec souhlasím. Našel jsem zmínku, že ungetc() třeba v GLibc vezme jenom jeden znak. A pokud by vzala víc, tak si nejsem jistý, jak by to interagovalo s kanonickým režimem terminálu - možná by se ty znaky neobjevily dřív, než by terminál dostal newline? Nebo by je dostal zpátky čtoucí program okamžitě, ale neobjevily by se už na terminálu... A v nekanonickém znakovém režimu by to stejně bylo celé na Vás (číst znak po znaku a echovat podle svého).

Pokud se Vám nechce, napsat si to po svém se základním ovládáním terminálu (vstup po znacích, na obrazovku opakovaně mazat a zobrazovat celý řádek), a ncurses nejsou to pravé ořechové (lze používat pod Windows díky MinGW) tak už mě napadá jenom samá ještě těžší tonáž.

V linuxovém světě bych zmínil knihovničku libnewt (download) od RedHatu. (Koukám dnešní maintainer je M.Lichvář.) Potkal jsem ji před lety a dodnes se nezměnilo, že widget na vstup textu existuje pouze jednořádkový, nemá multiline editační okno. A není pro Win32.

Anebo taky Turbovision ;-)

Readline/linenoise... mi připadá, že vedou někam trochu jinam, a Váš problém možná vůbec neřeší.

Nadnesl jste skutečně zapeklitý problém :-D

698
šimrá mě v zátylku ungetc() .

699
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 22. 02. 2020, 23:10:02 »
Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..

Kód: [Vybrat]
vector<int> a;
int velikost;
velikost = a.size();

Tři minuty googlení :-)

Ono by stačilo, kdyby si přečetl, co mu bylo psátno zde. :)

Aha... v tom případě se zdá, že si tazatel není vědom rozdílu mezi základním céčkovým polem, které se definuje pomocí

Kód: [Vybrat]
int moje_pole[8]; // počet prvků je pevný, daný v okamžiku definice/alokace

a kontejnerovými objekty v C++, z nichž asi nejbližší tomu základnímu poli je std::vector :
Kód: [Vybrat]
vector<int> moje_pole; // počet prvků se může měnit

Klasické céčkové statické pole je vlastně jenom kus paměti o určité velikosti. Hranatými závorkami se vlastně řeší jenom pointerová aritmetika. Statické pole není pokročilý C++ kontejner, nemá metodu .size().

V klasickém céčku je řetězec znaků vlastně taky jenom hloupé statické pole:

Kód: [Vybrat]
// statická definice/alokace s explicitně daným počtem znaků
char pozdrav[10];

// statická definice/alokace,
// počet znaků k alokaci je zadán nepřímo (spočítá ho kompilátor)
char pozdrav[] = {'a','h','o','j',0};

//  řetězec "ahoj" je součást executable bináru, proměnná "pozdrav"
// je prostě jen inicializována na pointer na tento řetězec
char* pozdrav = "ahoj";

Ve všech třech případech je proměnná "pozdrav" ve výsledku typu char*, tj. pointer na znak (pointer na bajt se znaménkem, interpretovatelný podle okolností buď jako číslo nebo jako písmenko.)

Do hloupého statického pole se dají vložit taky pointery na řetězce...

Takže v céčku:

Kód: [Vybrat]
char* pozdravy[] = {"ahoj", "nazdar", "cau"}; // velikost pole je pevně daná (3 položky)

Proměnná "pozdravy" je typu char**, tzn. pointer na pointer na bajt se znaménkem.

Ekvivalent v C++ např.:

Kód: [Vybrat]
std::vector<std::string> pozdravy; // počet položek se může v čase měnit, na pozadí se to řeší realokacemi

V téhle C++ variantě std::string je kontejnerový objekt (obsahuje řetězec znaků o dynamické délce) a std::vector je taky realokovaný dynamicky. Dynamický kontejner dynamických kontejnerů.
Pokud v C++ zavoláte sizeof(string), dostanete velikost kontejnerového objektu, která ale neobsahuje velikost vlastních dat = nějakého prostého bufferu na úrovni
Kód: [Vybrat]
char pozdrav[]

Jak pravil Hašek ústy Švejka, uvnitř zeměkoule je ještě jedna, a ta vnitřní je větší než ta vnější. Finta je v tom, že objekt "std::string" má mezi svými membery nějaký privátní pointer na buffer skutečných dat typu char[] .

Mně osobně dost dlouho trvalo, než jsem si začal všímat rozdílů mezi C a C++. První céčko, které jsem dostal do pazour, bylo Borland C++ v DOSu - a tam se kolem rozdílů mezi C a C++ velké cavyky nedělaly, kompilátor na pozadí Borlandího IDE vzal všecko. Teprve když jsem si začal hrát s gcc/g++, pár věcí mi došlo :-)

700
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 22. 02. 2020, 14:12:41 »
ANSI sekvence ESC25l vam nefunguje?
Asi nefunguje :(

Tak asi nebo urcite??? Zkousel jste to?

Jasně, že jsem to zkoušel, ono se to tváří, že je to ok, ale realita je někde jinde. Na tohle byl nejlepší ncurses.

Koukám Vy nejste úplně nepolíbenej :-)

701
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 22. 02. 2020, 10:11:43 »
...ono je těžké radit dnešním mladým, odkud začít, když já osobně jsem zažil "ty počítače" z mého naivního pohledu dost od začátku :-D

Tak jako v každé "znalostní bázi" - mentální mapa znalostí je amorfní klubko, je třeba začít "prostě odněkud", a ať si vyberete jakýkoli konkrétní bod, budete začínat "od prostředka" a pátrat do šířky. A chválím

Programovací jazyk nežije ve vzduchoprázdnu. Vždycky se pohybujete v nějakém "okolním prostředí" - tradičně v různých operačních systémech a textových nebo vizuálních prostředích. Váš programovací jazyk řeší syntaxí jenom zcela základní věci (práci s proměnnými, aritmetiku, datové typy, volání funkcí, objektovost) ale na jakoukoli "interakci s prostředím" si volá funkce, dostupné v knihovnách - v základní knihovně distribuované s kompilátorem/interpreterem, a v knihovnách třetích stran. Jazyky vyšší úrovně toho "syntaxí" řeší třeba trochu víc, ale když pak chcete nějakou detailnější práci s okolním prostředím, začnou připomínat svěrací kazajku. Některé programovací jazyky jsou specifické pro konkrétní úlohy, a přidat třeba rozšíření pro konkrétní funkce operačního systému je dost přes koleno.

Pro mě osobně je základem C a C++. V tom jsou napsané dnešní operační systémy, a v těchto jazycích se obvykle píšou "bindings" na knihovny třetích stran. Tzn. vemte si libovolný jazyk vysoké úrovně, z větší části třeba napsaný "sám v sobě", ale určitá část, konkrétně vazby na okolní prostředí, je třeba stejně napsat v Céčku.

Dneska nemůžou všichni umět všechno. Asi jsem postižený tím, že jsem systémák. Pro mě je C a C++ součást základní systémácké gramotnosti. Přesněji řečeno: C a základy C++ a v hrubých obrysech základní doprovodné nástroje, zejm. tradiční Make. Tzn. umět s malou dopomocí manuálu spustit gcc v příkazovém řádku, a oskriptovat automatickou kompilaci a linkování pomocí Makefile. Protože nerad "stavím barák od střechy".

Pokud máte čas trochu číst bez vazby na konkrétní úkol, možná doporučuji prolistovat pár čtivějších knížek, jako je Linux - začínáme programovat nebo Thinking in C++ od Bruce Eckela. A třeba cokoli od Pavla Satrapy - jenom škoda, že nepíše o C/C++. A zkuste si nastudovat něco o aspektech céčka jakožto "vylepšeném assembleru" ;-) Ony Vám ty střípky třeba začnou v hlavě zapadat dohromady. Jak říkám - míním to spíš jako čtení pro širší přehled.

Pokud jste windowsář, zkuste si jen tak ze sportu nainstalovat do systému MinGW gcc a g++ a make, zkompilovat si "holýma rukama" hello world atd. MinGW má trochu zvláštní standardní knihovnu - fungují základní céčkové funkce pro práci se soubory apod., na spoustu z nich pasuje dokumentace z linuxových manuálových stránek GNU libc, přitom jsou ale k dispozici i funkce Win32 API a  údajně jako skutečná standardní knihovna v pozadí je MSVC realtime library. Prostě MinGW je tak trochu mingi :-) ale na nějaké jednoduché žužlání / konverzi souborů v divných formátech to občas použiju, v dobách před podepisováním ovladačů se v tom dal napsat i driver do NT kernelu, taky jsem v tom jednou napsal primitivní "GUI" aplikaci co bydlela prakticky jenom v systrayi... Je to způsob jak rychle zmastit holý Cčkový program pro konzolu, aniž bych musel obcovat s tlustým IDE.

Pokud jde o IDE pro MinGW C/C++, tuším jsem kdysi letmo viděl open-source Dev C++, ale to nemá přibalenou vizuální knihovnu. Čili je to vizuální IDE pro tvorbu systémových a konzolových věcí :-) Osobně doporučuji, až třeba vyrostete z konzolových věcí, zkuste mrknout na Ultimate++. Je to open-source, BSD licensed, má to knihovnu vizuálních widgetů a IDE s klikacím designérem GUI, umí to kompilovat pomocí MSVC nebo MinGW. Je to trochu svoje, ale v tomto směru překvapivě propracované. A vypadne z toho v zásadě nevelký stand-alone EXE, který jde pod Windows spustit kdekoli. Tzn. žádný tlustý runtime. (Že je hlavním pachatelem U++ Čech a jedna místní programátorská legenda je relativně podružná informace. Parta maintainerů je mezinárodní a ochotná, pokud se na fóru umíte správně ptát.)

Ještě k Vašemu dotazu, trochu čtení na okraj ohedně terminálových věcí a vnitřností C/C++ (pár neutříděných odkazů):

https://en.wikipedia.org/wiki/Terminal_emulator
https://en.wikipedia.org/wiki/List_of_terminal_emulators
https://en.wikipedia.org/wiki/Windows_Console
http://man7.org/linux/man-pages/man3/termios.3.html
https://en.wikibooks.org/wiki/X86_Disassembly/Calling_Conventions

Našel by se i těžší kalibr a specifičtější věci, kdyžtak si řekněte.

702
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 22. 02. 2020, 09:09:27 »
Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..

Kód: [Vybrat]
vector<int> a;
int velikost;
velikost = a.size();

Tři minuty googlení :-)

703
Odkladiště / Re:Kde sehnat funkční starý notebook
« kdy: 14. 02. 2020, 19:30:08 »
Popravdě mám zřejmě někde ve skříni Compaq Presario s Pentiem cca 166 MHz a tuším i SB-compatible zvukem... je na něm dual-boot RedHat 6.2 a Windows 95 a kus nostalgie. Vzdát se ho zatím nechci, a popravdě jeho DSTN displej je dost bída, síťovka 3com je v PCMCIA slotu a možná od ní už nemám externí pigtail s RJ45 apod.

704
Odkladiště / Re:Kde sehnat funkční starý notebook
« kdy: 13. 02. 2020, 12:29:23 »
Já bych se teda nad emulátory tolik neošklíbal, ale kdo chce kam...

Staré notebooky byly vraky, kašlete na to.
V dnešní době na to nekoupíte náhradní díly, především použitelný disk.
Leda sehnat někde CompactFlash a patici/redukci na IDE.
Nebo SATA disk a zredukovat na IDE.
Stejně v DOSu uvidíte max 2 GB per volume.
Prostě IMO lepší nápad je nějaké mini PC a k němu plochý displej o vhodné velikosti.
Osobně bych doporučoval 5:4, konkrétně 1280x1024 (skoro přesně dvojnásobek
starého dobrého 640x480, obvykle se prostě jenom přesně zdvojí pixely v obou osách).
Nebo pokud najdete LCD nebo televizi, která umí zobrazit 5:4 s celočíselným scalingem...

Poslední aktuální hardware, u kterého lze najít příbuzenství se 486, je Vortex86DX.
Popravdě on už taky končí, jsou k dispozici ještě nějaké průmyslové boardíky,
https://www.icop.com.tw/product/VDX-6315RD
https://www.icop.com.tw/product/VDX-6326RD-NF
https://www.icop.com.tw/product/EB-206
https://www.icop.com.tw/product/VDX-6324RD  (má ISA slot pro PICMG backplane)
ale v kancelářských MiniBox-PC už se zřejmě nedodává. Zkuste se zeptat u ASM, ti to sem dováželi. Aktuální Miniboxy obsahují Vortex86DX2 nebo DX3 nebo Intel Atom - to už je železo spíš pro Windows 7+. VDX2/3 sice pořád není kdovíjak výkonný, ale v BIOS Setupu už není vidět ta DOSová poezie jako rezervace ISA IOMEM window, pro Vás především už si nejsem jistý, zda lze VDX2/3 ještě podtaktovat. To je totiž zásadní vlastnost Vortex86DX: jde podtaktovat z plné rychlosti (asi 600-800 MHz) až na 1/8, tzn. cca 100 MHz. "Chyba dělení nulou" (error 200) se sice projevuje na tomto CPU asi až od 400 MHz výš (na originálním Pentiu nad 200 MHz) ale některé opravdu staré hry mají animace programované natvrdo (bez časovače) takže si je ani na procesorech kolem 100 MHz moc neužijete :-)

Pokud se týče PC speakeru, tak ty Vortexové boardíky mají onboard bzučák,
který tuším nejde obejít jumperem.
Leda vyletovat bzučák a místo něj osadit header pro připojení kabelu.
A onboard audio bývá na USB = soundblaster to emulovat neumí.
Leda sehnat starý blaster do ISA a zkombinovat s deskou VDX-6324.
Hm ony ty staré notebooky na tom se zvukem taky nebyly kdovíjak žůžově
(ozvučené výjimky se našly, dokonce snad některé obsahovaly blaster-compatible čip).

Pořád mi to vychází, že nakonec snáz najdete nějaký emulátor,
který pojede na moderním železe v Linuxu nebo pod Windows :-)
Podle mého emulovat staré PC plnou rychlostí by zvládla i "malina"
- ale emulaci PC speakeru jsem nestudoval.
Emulátory většinou umí obstojně emulovat SoundBlaster.

705
Server / Re:Server pro malou firmu
« kdy: 24. 01. 2020, 08:31:03 »
Odpusťte mi zvědavost: Nuc? Do toho se vejde dovnitř disk? Nebo zvenčí? Nebylo by upřesnění - jaký disk a jakou sběrnicí připojený? (USB/SATA) Dělám do včel, zajímají mě "takticko-technická data" - Vaše odpověď mi řekne, kolik má to úložiště cca IOps. A pokud to není obchodní tajemství: jaký software ty streamy ukládá na disk? Něco specifického na tom serveru (RTP sběrač / RTSP povelovač, HTTP olizovač), nebo kamery sypou data do souborů na SMB/NFS share apod? Jaký dává jedna kamera bitrate / počet snímků za sekundu?

Tajemství to není, ani to není žádný komerční řešení ale spíš "udělej si sám" hobby řešení,.. Každopádně Intel NUC do svých utrob pojme SSD do M.2 slotu kde mam OS (vím ostuda tady na rootu) Windows, a pak HDD SATA 6.0 Gb/s na záznamy, 2,5" Seagate BarraCuda. SW kterej se o kamery stará je přímo od Vivoteku, jakým způsobem to konkrténě mají řešený nevím,.. Ze starých poznámek (ještě před přehozením na NUC z původního řešení, ale myslím že se to neměnilo,) jsem vyčetl nastavení kamer na 720p, H.264, 25fps, 8 Mbps.

Děkuji za podrobné informace. Ono 6 MBps nezní jako moc, ale jenom v případě, že to ten software trochu bufferuje a dávkuje data filesystému po větších blocích (optimálně řádově 10 MB nebo víc na transakci). Pak je to bez problému - procesor i disk se můžou flákat. Pokud by se to postavilo na nějakém generickém "file serveru" nebo httpd. apod, a ten software by flushoval přijatá data na disk po 1500B, točivý disk by nestíhal seekovat. Laděním write-backu v blokové vrstvě to moc dohnat nejde (leda by se úplně ignorovaly bariérové operace) a nekonečný stabilní stream není řešitelný ani block-layer flash cache (protože tato nedostane šanci "si vydechnout" a protože write-mostly náklon). Jestli je to pod Windows nebo na Linuxu je mně osobně buřt, důležitý je funkční výsledek a pachatel=správce po ruce ;-)

Stran: 1 ... 45 46 [47] 48 49 ... 84