Article View: pl.comp.lang.c
Article #310132Re: Coroutines w (GNU) C
From: (fir)
Date: Mon, 03 Feb 2020 15:49
Date: Mon, 03 Feb 2020 15:49
146 lines
9885 bytes
9885 bytes
W dniu poniedziałek, 3 lutego 2020 12:58:37 UTC+1 użytkownik Piotr Gałka napisał: > W dniu 2020-02-02 o 00:00, M.M. pisze: > > >> No i dotychczas zawsze było, że oprócz tego mamy do zrobienia 'na > >> wczoraj' jeszcze kilka rzeczy i na pewno teraz nie możemy opóźniać. > >> Takich zaplanowanych, różnych skoków technologicznych do wykonania mamy > >> jeszcze kilka. Do niektórych powstał nawet hardware i czeka od 4 lat aż > >> znajdziemy na to czas. > > > > A jakby kogoś zatrudnić, albo wynająć z zewnętrznej firmy, kto ma wyczucie > > kompilatora C++ > > Chyba nie zdajesz sobie sprawy ile to by było komplikacji na wstępie i > później jakby trzeba było coś w tym poprawić. > > C++ uczyłem się w 92 z ksera oryginału książki Stroustrupa. Jak w 93 > ukazało się polskie tłumaczenie przeczytałem jeszcze raz. > Na tej podstawie napisałem w C++ makro assembler'51 i coś mnie podkusiło > (ambicja), że koniecznie muszę go przerobić na jednoprzebiegowy (nie > załapałem, że to miało sens gdy źródło było na tasiemce perforowanej a > gdy źródło jest na HDD to co za problem przeczytać kod jeszcze raz). > Konieczność przechowania różnych danych do drugiego przebiegu zjadała > pamięć i natknąłem się na problemy przy dłuższych źródłach (PC miał 640k > RAMu). Przeciążenie operatora new pozwoliło mi wydłużyć assemblowane > źródło 2x. > Dopóki używaliśmy 51-ki brat korzystał wyłącznie z mojego assemblera bo > inne się wykładały na wyliczeniach danych do ustawiania UARTa z > częstotliwości zastosowanego kwarca (liczyły na 16 bitach a ja na 32). > > Uważam, że mam wyczucie C++ (w wersji z tamtych czasów), ale > programowaniem zajmuję się tydzień/dwa w roku więc ... nie nadążam za > nowymi standardami. Poza tym używam nadal głównie C++ Buildera 5 (on też > nie nadąża :) ). > Mam też Buildera 2010. Pewnie bym się przeniósł gdyby nie jego fjuczer - > tylko raz daje się uruchomić po jednym resecie komputera. Znalazłem w > sieci jakieś obejścia do tego, ale nie miałem wystarczającej presji aby > je wdrażać. > > W związku z treścią dyskusji właśnie przeszukałem wszystkie moje *.h w > poszukiwaniu void* i wyskoczył mi tylko ten mój assembler z 1996r. > Pewnie przeciążenie operatora new tego wymagało. > > Nigdy nie nauczyłem się korzystać z zewnętrznych bibliotek. > AES, CMAC, HMAC, SHA napisałem sobie sam (w C++). > Moje źródło zawierające: > - CRC32, > - AES128, > - AES256, > - szyfrowanie tymi AES w trybie CTR (counter), > - CMAC, > - SHA256, > to jedynie 87 linijek h i 268 liniej cpp (ale może nie być przenoszalne > do środowiska o odwrotnym ułożeniu bajtów, choć nie jestem tego pewien). > Jakby ktoś chciał mogę zapodać. > > > i mniej/więcej wie jak zaimplementować, albo jakie > > eksperymenty przeprowadzić, aby uzyskać dany efekt? > > Każdy nasz program wymaga ciągłego rozwoju, a czasem natychmiastowej > interwencji (zdarzało nam się siedzieć w pracy do 4-ej rano). > Musiałby to być ktoś na stałe i o takiej samej dyspozycyjności jak my. > > > W niektórych firmach > > odpowiadali mi, że głównym problemem jest ryzyko z wdrażania nowej osoby. > > Ryzyko i czas, czas, czas. > > > Co u Was uniemożliwia zwerbowanie dodatkowych mocy przerobowych - jeśli mogę spytać? > > Dzień wolności podatkowej, który w Polsce przypada pod koniec czerwca, a > w USA w połowie kwietnia. To jest czynnik, który tam pozwala małym > firmom się rozwijać, a u nas je zabija. > > Poza tym nie jesteśmy pełną gębą biznesmenami i bycie człowiekiem > stawiamy wyżej od rachunku ekonomicznego (pracownikom od montażu zawsze > płaciliśmy bliżej średniej niż minimalnej). > Kryzys 2008 dopadł nas w 2010 (i trzymał do 2015). Biorąc kolejne > kredyty udało nam się nie zwolnić żadnego pracownika choć nie mieliśmy > dla nich roboty. Jeszcze się nie wygrzebaliśmy, a tu już się szykuje > kolejny kryzys :( > > Poza tym. > Nasze dotychczasowe kontakty z firmami ściśle softwareowymi każą nam > przyjmować, że większość programistów nie umie myśleć o ograniczeniach > sprzętu. > > Przykład z ostatniego miesiąca. > Brat coś grzebie w kontrolerze korzystając po stronie PC z > oprogramowania jednej z takich firm. Coś zmienia w ustawieniu kart i > klika jakiś przycisk w stylu "Uaktualnij dane w kontrolerze". W > kontrolerze ma 5 kart więc uaktualnienie to powinny być jakieś ms więc > od razu sprawdza, czy działa - nie działa to klika jeszcze raz i jeszcze > raz. Na ekranie żadnej informacji, że trwa jakiś proces więc wydaje się, > że program uważa, że zrobił co trzeba. Przyczyną nie było to co napiszę > dalej ale przy okazji prześledzenie komunikacji ujawniło, że oni w > takiej sytuacji zamiast wysłać 2 rozkazy: > - wpisz te 5 kart, > - wykasuj karty od 6 do 32000. > robią: > - usuń kartę 1, > - wpisz kartę 1, > .... > -usuń kartę 32000, > -wpisz puste dane dla karty 32000. > I kolejne naciśnięcia klawisza wstawiały w kolejkę kolejne takie procesy. > > To jakaś kpina. > Rozkaz wpisz karty, gdy dane są zgodne z zawartością nie zużywa flasha > bo najpierw jest sprawdzane, czy dane są zgodne. > Rozkaz wpisujący wszystkie karty danej strony wymaga tylko jednokrotnego > jej przeprogramowania. > Ale rozkaz skasuj kartę (która jest) wymaga przeprogramowania strony > flash. Potem wpisanie tych samych danych w to samo miejsce - znów. > Nie wiem ile kart jest na stronie, ale jeśli np 30 to taka procedura > powoduje konieczność 60 krotnego przeprogramowania flash (zamiast > średnio 0.5 raza (0 lub 1 raz)). > Kontroler, który załóżmy powinien przeżyć 30 lat, zużyje się 120 razy > szybciej - czyli po 3 miesiącach. > Gdybym nie wiedział, że głupota pomyślałbym, że sabotaż. > > Pomysł 'my robimy hardware' firma softwareowa robi oprogramowanie na PC > (bo zrobi to na pewno lepiej od nas) mieliśmy w okolicy +- 1997. > Przepytaliśmy pod tym kątem wszystkie firmy softwareowe na Infosystemie > - absolutne zero zainteresowania. Nie chcieli bawić się z hardware. > Pisali wtedy programy typu kosztorysowanie budowlanki, czy zarządzanie > aptekami - więc pomysł upadł. > > W okolicy 2014 zgłosiło się da nas kilka firm softwareowych, że chcieli > by mieć sprzętową kontrolę dostępu, rejestrację czasu pracy, czy podobne > zagadnienia dobrze zintegrowane z ich oprogramowaniem. > Opracowaliśmy więc system pod takim kontem. > Współpracę utrudnia to, że o komunikacji rozmawiamy innymi językami :) > Oni mają problem się dostosować do nas, a my nie jesteśmy w stanie się > dostosować do nich. > > A to, że jesteśmy nadal w Xmega a nie w jakimś linuxie to .... > Firma przeprowadzająca audyt bezpieczeństwa nie była w stanie w żaden > sposób się wpiąć w naszego RS485, czy dobrać do komunikacji z serwerem. > Jedyne co zasugerowali to zablokowanie strony www kontrolera po > instalacji bo np. ataki przez przepełnienie bufora. > Odpisaliśmy, że z tego co wiemy to taki atak może być skuteczny tylko, > gdy program jest wykonywany z RAMu - więc nie u nas. Nie wiem, czy > blokujemy to www, czy nie - to brat pisze. > P.G. to szkoda ze tak malo zarabiecie.. o ile dzis programistom placi sie przyzwoicie to wgladaloby ze i firmom powinno sie plaic przyzwoicie, wiec to troche chyab dziwi ze tak kiepsko w takim biznesie
Technical Details
Message-ID:
<513ad964-d7a6-4a0e-a81d-af289c212fbc@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0n95e$35l$1@dont-email.me> <f3df206c-11d4-4b22-87ff-fc7aa00935f3@googlegroups.com> <r0nevq$9iq$1@dont-email.me> <ecae4ae1-0b06-4956-8df0-593fa0f1cd01@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <c9ada043-010e-41c1-8362-385fcab97fbb@googlegroups.com> <r0sm9p$r2m$1@dont-email.me> <35023603-9392-414e-9ad2-dfb5ddf4a850@googlegroups.com> <r0t1ne$3re$1@dont-email.me> <91b73c11-aadd-4e8f-9a1b-a3ea1da6adc3@googlegroups.com> <r0vipi$i8e$1@dont-email.me> <2c5f15fd-b0c0-466f-8961-a3e5b291657e@googlegroups.com> <r11uhf$6bf$1@dont-email.me> <a5b8d9cc-7cdf-467f-abc0-d91489d80a8e@googlegroups.com> <r13bkl$s0k$1@dont-email.me> <r13pgb$p54$1$PiotrGalka@news.chmurka.net> <501d4b3c-2464-4181-8f5d-376b1da7d5b6@googlegroups.com> <r191ta$mh$1$PiotrGalka@news.chmurka.net>Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:4ed3:: with SMTP id c202mr23637818qkb.219.1580744957869; Mon, 03 Feb 2020 07:49:17 -0800 (PST) X-Received: by 2002:a25:c686:: with SMTP id k128mr19958876ybf.73.1580744957646; Mon, 03 Feb 2020 07:49:17 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Mon, 3 Feb 2020 07:49:17 -0800 (PST) In-Reply-To: <r191ta$mh$1$PiotrGalka@news.chmurka.net> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=5.172.255.186; posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN NNTP-Posting-Host: 5.172.255.186 References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0n95e$35l$1@dont-email.me> <f3df206c-11d4-4b22-87ff-fc7aa00935f3@googlegroups.com> <r0nevq$9iq$1@dont-email.me> <ecae4ae1-0b06-4956-8df0-593fa0f1cd01@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <c9ada043-010e-41c1-8362-385fcab97fbb@googlegroups.com> <r0sm9p$r2m$1@dont-email.me> <35023603-9392-414e-9ad2-dfb5ddf4a850@googlegroups.com> <r0t1ne$3re$1@dont-email.me> <91b73c11-aadd-4e8f-9a1b-a3ea1da6adc3@googlegroups.com> <r0vipi$i8e$1@dont-email.me> <2c5f15fd-b0c0-466f-8961-a3e5b291657e@googlegroups.com> <r11uhf$6bf$1@dont-email.me> <a5b8d9cc-7cdf-467f-abc0-d91489d80a8e@googlegroups.com> <r13bkl$s0k$1@dont-email.me> <r13pgb$p54$1$PiotrGalka@news.chmurka.net> <501d4b3c-2464-4181-8f5d-376b1da7d5b6@googlegroups.com> <r191ta$mh$1$PiotrGalka@news.chmurka.net> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <513ad964-d7a6-4a0e-a81d-af289c212fbc@googlegroups.com> Subject: Re: Coroutines w (GNU) C From: "(fir)" <profesor.fir@gmail.com> Injection-Date: Mon, 03 Feb 2020 15:49:17 +0000 Lines: 218 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit