Najłatwiej 'nie widzieć problemu' i potem inni mieli problemy w 2000 roku a teraz jeszcze inni mają w 2020.
Nie chce mi się wierzyć w koncepcję, że ktoś chciał mieć możliwość też wpisywania dat urodzin bo przecież do takiego zapisu RTC ma się nijak. Nie ma ani potrzeby ustawiania RTC na datę urodzin, ani pobierania z RTC daty czyichś urodzin.
Bardziej mi się kojarzy ktoś zafascynowany postarzaniem urządzeń - co ja będę kombinował z ustawianiem elektrolitów koło ciepłych elementów aby za jakiś czas wyschły skoro mogę ten sam efekt (i bez niepewności co do zadziałania) osiągnąć zegarem. P.G.
Didn't find your answer? Ask the community — no account required.
J
J.F.
Użytkownik "Piotr Gałka" napisał w wiadomości grup dyskusyjnych:qv518n$mm0$1$ snipped-for-privacy@news.chmurka.net... W dniu 2020-01-08 o 11:20, Marek pisze:
Ale wiesz jak to bywa - ktos napisal procedure/funkcje, ktos uzyl w innym celu, a potem przez 30 lat nikt nie zmienial.
Dziwne tylko, ze nikt nie zmienil w dosc dynamicznej dziedzinie, gdzie hardware zmienial sie czesto. I ze nie zweryfikowali przy okazji roku 2000.
A przeciez i VAT nie jest taki stary.
Jakos nikt nie chce opisac na czym blad polega, tzn jak sie objawia ... z trzeciej reki slysze, ze drukarka wyswietla "blad zegara" i odmawia dalszej pracy. Ustawila rok 1920 i uwaza, ze to za duze cofniecie ?
A moze ... program sprawdza czy data zaczyna sie od 20, i wtedy bierze nastepne dwie cyfry roku, a tu tych cyfr nie bylo :-)
W drukarkach fiskalnych jest ten problem ? Bo pamiec fiskalna swoja pojemnosc ma, dawniej starczalo na ok 5 lat.
Teraz masz z kolei akcje wymiany na online, potem tez cos wymysla - ten biznes sie kreci :-)
J.
M
Mateusz Viste
2020-01-08 o 17:50 +0100, Piotr Gałka napisał:
Nie zapominaj też o tych, co będą się kopać z koniem w 2038.
Mateusz
Q
Queequeg
Zdecydowanie mówimy o czym innym.
Ok, ktoś ustawił rok. Ten rok został zapisany w tym incie na czterech cyfrach. Później ktoś wyłączył urządzenie, a później je włączył. Skąd urządzenie, po włączeniu, wie, jaka jest obecnie data?
Ale nie ma szansy obsługiwać dat poniżej 2000. Być może ten driver był pisany przed tym rokiem.
Q
Queequeg
O tak. Będzie ciekawie. Nie przewidzieli że to, co wymyślili, utrzyma się przez prawie 70 lat :)
Q
Queequeg
Dokładnie tak myślę.
Pewnie było zadanie, żeby wyciągnąć z RTC pełną datę, tylko tyle i aż tyle. Nie było doprecyzowane, co zrobić z dwucyfrowym rokiem, więc ktoś sobie założył to, co sobie założył.
Hardware tak, ale RTC nie :)
Po 2000 działało :P
Może jak kurz opadnie uda mi się dotrzeć do informacji (znajomy znajomego znajomego... branże podobne, to się trochę ludzie przeplatają), ale wtedy pewnie i tak nie będę mógł napisać.
Tak, takie są oficjalne publikacje.
Zresztą sam mam na biurku kasę fiskalną (nie chcę pisać jakiej firmy), która ma wyciek zasobów (nie zamyka socketa, gdy połączenie timeoutuje). Miałem zgłaszać, pewnie zgłoszę jak wrócę do tematu.
Nic nie ustawiała, w RTC przeskoczyło z 19 na 20 i driver nagle zaczął zwracać 1920... a inny fragment kodu stwierdził, że rok jest poza zakresem, czyli data nieprawidłowa, czyli zegar nieustawiony :)
Tak myślę.
Czemu tak?
Bardzo wątpię. Przecież te urządzenia są supportowane, wspierane i serwisowane, a kasa musi działać przez minimum ileś raportów dobowych.
Pracuję w podobnej branży od 2011 r. i nigdy nie spotkałem się z celowym postarzaniem urządzeń ani wewnętrznym sabotowaniem ich pracy. Wprost przeciwnie, gdy np. certyfikat ma wygasnąć lub wiadomo o innej usterce to robi się wszystko, żeby nie posypało się to u klienta (zdalny update).
Biznes się kręci, a straty sklepów, które nie mogły pracować? :)
P
Piotr Gałka
W dniu 2020-01-08 o 18:34, Mateusz Viste pisze:
Liczymy unsigned i odwlekamy problem poza nasz horyzont zdarzeń :) P.G.
P
Piotr Gałka
W dniu 2020-01-09 o 12:48, Queequeg pisze:
A może wszystko by chodziło dalej, gdyby była tabela stawek VAT dla 1920r. P.G.
M
Mateusz Viste
2020-01-09 o 16:08 +0100, Piotr Gałka napisał:
Już 2038 to jest poza horyzontem, przynajmniej moim. Ale nie w tym rzecz. To trochę jak z ekologią: my już do końca se dożyjemy, ale co z dziećmi, wnukami?
Liczenie unsigned jest jedną z opcji. Inną opcją byłoby rozszerzenie typu. Obie te opcje wymagają co najmniej rekompilacji, a w zależności od implementacji także zmian w kodzie. Dla nowego kodu to nie problem, ale tak samo Y2K nie było dla niego problemem. Kłopot z tym całym "legacy", które działa od lat i nikt nie chce tego dotknąć z obawy, że przestanie działać.
Mateusz
Q
Queequeg
Hmm, pytanie czy tabele są per rok, czy zmieniane w razie potrzeb, choć raczej gdyby tak było, to komunikat brzmiałby "brak tabeli VAT" a nie "ustaw zegar"... hmm.
M
Marek
RTC sje nie wyłącza. Działa dziesięciolecia jeśli jest dobrze zaprojektowane.
A.kogo obchodzą daty przed 2000? To jakiś nonsens.
Q
Queequeg
Czyli program przy starcie odczytuje datę z RTC.
A na ilu cyfrach RTC zapisuje rok? Na dwóch, przynajmniej te, które widziałem.
Skąd program ma wiedzieć, czy 20 odczytane z RTC to 1920 czy 2020, a może jest już 2120? Odczytasz z RTC rok 20 i zrobisz z niego 2020, dodając
2000? Zrobiłbyś tak samo, gdybyś pisał ten driver 30 lat temu?
Dziś nikogo, ale jeśli driver był pisany przed rokiem 2000, to obchodziły.
Teraz mamy nadal początek wieku, więc niby możemy sobie założyć, że doklejamy 20 na początku i prawdopodobnie będzie OK (a jak za 80 lat nie będzie, to i tak już nas to nie będzie obchodziło), ale w roku, powiedzmy,
1990, nie było to takie oczywiste.
S
SW3
W dniu 2020-01-09 o 17:03, Mateusz Viste pisze:
Chyba mniej problematyczną a i odwlekającą problem "nieco" bardziej.
M
Marek
Jeśli programista piszący program w 1998 bierze pod uwagę możliwość wystąpienia roku 1920 znaczy, że jest idiotą (chyba, że nazywa się Emmet Brown i pracuje nad pewną, dość kontrowersyjną modyfikacją DeLorean"a). Każdy normalny programista uzna, że rok odczytany z rtc mniejszy od
98 dotyczy lat 2000-2097. To daje gwarancję prawidłowego odczytywania daty przez następne 100 lat. Myślę, że w 2097 dla urządzenia nie będzie problemem zbliżający się następny wiek, bo nie będzie już wtedy funkcjonować (jak przystało każdemu popsuje się wkrótce po gwarancji).
C
Cezary Grądys
W dniu 11.01.2020 o 10:46, Marek pisze:
A jeśli to jest system do banku? Kredyty mogą być przecież długookresowe, a jeszcze ktoś moze zalegać ze spłatą...
M
Marek
Gwarantuję, że "rtc" dla banku ma trochę więcej możliwości niż zapisywanie roku w 2 cyfrach :)
Q
Queequeg
Nigdzie nie jest powiedziane, że program był napisany w 1998 r.
K
kk
Mają subskrybować grupę by przeczytać jeden wątek?!
Q
Queequeg
Ja nie mówię, co mają. Ja mówię, jakie są przyjęte standardy.
K
kk
Naucz się cytować.
I teraz w pierwszym zacytowanym fragmencie jest twoje "jakie są przyjęte standardy".
Moim zdaniem nie ma "takich standardów". Wskazywanie innego miejsca niż grupa na którą się wysyła jest z gruntu złe bo te grupy są dyskusyjne a nie ogłoszeniowe.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.