Programistyczne WTF jakie Was spotkały

Odpowiedz Nowy wątek
rnd
2009-04-03 11:31
rnd

Rejestracja: 12 lat temu

Ostatnio: 8 lat temu

11

Dziś w pracy moim oczom ukazała się klasa na 30k linijek. W jednym pliku.
Jeszcze jestem w szoku :-D
A jakie Wy mieliście WTF?


#define TRUE FALSE
//Happy debugging suckers :D
edytowany 2x, ostatnio: Demonical Monk, 2011-12-04 00:47

Pozostało 580 znaków

2019-01-30 17:40

Rejestracja: 12 lat temu

Ostatnio: 3 minuty temu

2

screenshot-20190130173721.png
https://stackoverflow.com/q/54444956/1387438

4 lata doświadczenia i zadawać takie pytanie na SO.

Żeby było jasne pierwotnie nie było nic o interview


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22, 2019-01-31 09:11
Pokaż pozostałe 80 komentarzy
@Mikan zanim było SO, się wyszukiwało na grupach dyskusyjnych i dokładnie taka sama zasada była (w zasadzie sam do tego doszedłem, że jak czegokolwiek nie wiedziałem, to wyszukałem w necie przez Deja i mi znajdywało odpowiedzi, bo na 99% ktoś już miał taki problem jak ja). - LukeJL 2019-02-05 22:34
@WeiXiao Z drugiej strony faktycznie, jak się coś robi w bleeding technology edge'u albo używa niszowych technologii, to jest problem (ale jest rozwiązanie - używać rzeczy popularnych) - LukeJL 2019-02-05 22:36
Na SO opłaca się zadawać pytania też z technologii naszych dziadków - w miarę szybko odpowiadają, można pytać o banały i nie ma sugestii że to duplikat po 5 minutach od dodania pytania. - vpiotr 2019-02-05 22:40
@LukeJL: powiem tyle: zwykli ludzie - https://i.imgur.com/AZf0c1Y.png programiści - https://i.imgur.com/AZf0c1Y.png programiści testujący bleeding edge i wersje preview / experimental - https://i.imgur.com/ENSDZWr.png - WeiXiao 2019-02-05 22:41
@WeiXiao: hehe :-) Tutaj pełna zgoda :-) - Aryman1983 2019-02-05 22:48

Pozostało 580 znaków

2019-01-31 00:33

Rejestracja: 5 lat temu

Ostatnio: 54 minuty temu

2

Dane kupione przez klienta warte kupe kasy (praktycznie jedyny dostawca na rynku):

  • Dostaliśmy od dostawcy listę wszystkich możliwych kategorii - UPS, jednej się zapomniało. Szkoda, że kilku godzinny batch poszedł się walić i trzeba było od nowa to puszczać. No ale ok, zdarza się...
  • 700k elementowa lista miała 4 wyjątki - UPS, poprawicie sobie w kodzie co nie?
  • Pierwsza paczka zawierała za mało danych, druga paczka miała zawierać kompletną listę danych - UPS, okazało się że paczka zawierająca mniejszą ilość danych zawiera dane, których częściowo nie ma w drugiej paczce
  • Dokumentacja mówi, że lista zawiera unikalne ID jeśli kiedyś będziemy aktualizować dane - UPS unikalne ID powtarzają się na liście dla kompletnie różnych od siebie elementów
  • Jak wyglądało ID? Losowe znaki + cyfra np. OEUANA-0912368912 - UPS kilkaset ID wyglądających tak: OEUANA-null
  • Część wyników miała nazwę zawierającą informacje o zbanowaniu ze względu na zbyt dużą ilość requestów wysyłanych crawlerem przez dostawcę
  • Dane posiadały lokalizację pewnych miejsc, np. na środku oceanu
  • CSV w polu listy CSV [magic]. Czasem przecinkiem, czasem pipem ogólnie dało się coś z tym zrobić. ALE byłoby ok gdyby nie było kilkuset elementów elementów, których pola (CSV w CSV) oddzielili SPACJAMI
edytowany 1x, ostatnio: OtoKamil, 2019-01-31 00:36
Standard. Często dane są, ale tak niskiej jakości, że nie da się ich używać. - Afish 2019-01-31 00:58
Tak z ciekawości - co oznacza "kupa kasy", jak nie wiesz dokładnie to podaj chociaż rząd wielkości. Po drugie - polski czy zagraniczny dostawca? Po trzecie - jakiego typu to były dane? A co do "na środku oceanu" - wcale nie musiał to być błąd, zależy właśnie od tego, co masz do powiedzenia w zakresie odpowiedzi na poprzednie pytanie ;) - cerrato 2019-01-31 08:58
środek oceanu brzmi jak punkt 0,0 - danek 2019-01-31 09:24
albo miejsce spoczywania jakiegoś wielkiego skarbu, np. wraku pirackiego statku pełnego złota. - LukeJL 2019-01-31 09:30
W danych GIS trzeba brać poprawkę na użyty układ, bo jak współrzędne są zgodne z A, to interpretacja w B (bez odpowiedniej konwersji) pokaże głupoty. Być może dostawca wciągał jak leci z różnych źródeł i nie uspójnił tego ;-) - yarel 2019-01-31 09:35

Pozostało 580 znaków

2019-02-05 11:53
Moderator Kariera

Rejestracja: 2 lata temu

Ostatnio: 1 minuta temu

Lokalizacja: Poznań

6

Może nie do końca programistyczne, ale na pewno zawinione przez programistów.

Kupiłem drukarkę etykiet Brother QL-820NWB. Ma kilka możliwości podłączenia - przez LAN, USB, WiFi, Blutut, z czego ja potrzebuję jedynie LAN.

Drukarka posiada ekranik i menu z konfiguracją. Można tam wiele rzeczy zmienić, m.in. ustawienia WiFi czy Bt. ALE NIE MA opcji zmiany adresu IP...

Zaglądam do instrukcji i czytam, że żeby zmienić LAN IP trzeba "zainstalować sterownik drukarki oraz narzędzia do konfiguracji ustawień drukarki"... LITOŚCI.

Na szczęście sprawdziłem sobie w logach DHCP jaki IP został przydzielony (dobre chociaż to, że dynamiczne pobieranie działało bez dodatkowej magii, nie wpadli na równie genialny pomysł blokady LAN do czasu włączenia tego w ustawieniach), a potem przez WWW wbiłem na urządzenie i sobie zmieniłem adres na taki, jaki chciałem. Ale i tak niesmak pozostał. Coś, co mogłem zrobić w dosłownie minutę i przy użyciu kilku kliknięć zajęło mi z 15 minut i chwilę kombinowania...

screenshot-20190205114954.png

EDIT
Podczas próby wydruku wyskoczył błąd dot. nieprawidłowego typu zainstalowanej rolki, po czym coś wcisnąłem, etykietka się wysunęła na ok. 2cm (pusta, żadnego nadruku), ekran zgasł i drukarka nie żyje... Fajny początek, nie ma co...
.
.
.
EDIT 2
Nie wiadomo o co drukarce chodziło, ale po kilku minutach bez pradu, po ponownym podpięciu zasilacza się uruchomiła... Ale żeby nie było za łatwo - pół godziny starałem się coś wydrukować. Mamy kilka takich drukarek (poprzednich modeli - ten jest na podmiankę innej, która się popsuła), więc wiem jak się z tym ustrojstwem obchodzić. Mimo tego przez pół godziny nie byłem w stanie niczego wydrukować - cały czas ten sam komunikat o błędnym typie wsadzonej rolki (na szczęście tym razem nie zakończony zgonem urządzenia). Ponieważ, jak napisałem przed chwilą, mam kilka takich w firmie, wsadziłem inną rolkę i druk poszedł od ręki. Czyli na oryginalnej taśmie dostarczonej razem z drukarką nie chciało się drukować, ale po wsadzeniu zamiennika z allegro (w cenie 1/3 oryginału) wszystko jest OK... Naprawdę, ręce opadają.


Naczelny forumowy hejter Apple

That game of life is hard to play, I'm gonna lose it anyway
The losing card I'll someday lay, So this is all I have to say
edytowany 2x, ostatnio: cerrato, 2019-02-05 12:55
Pokaż pozostałe 8 komentarzy
Nie lepiej bylo zamowic jakas polska drukarke? - vpiotr 2019-02-05 17:56
szanujący się router powinien mieć rezerwację IP po MAC - czyli używasz DHCP, ale masz pewność że adres się nie zmieni. czyli w praktyce: adresy ustawiasz na routerze, nie na urządzeniach. i przy okazji masz zawsze aktualną tabelkę adresów bez konfliktów i bez biegania. - Azarien 2019-02-05 18:19
Oczywiście, wiem że routery mają opcję (chyba nie tylko te szanujące się, ale praktycznie każde) statycznych przypisań, ale jakoś nie lubię z tego korzystać ;) Kumpel w firmie zawsze ze mnie polewa i mnie od dinozaurów wyzywa, ale ja wolę ręcznie ustawić IP na danym urządzeniu. Nie pytaj dlaczego.. po prostu tak wolę ;) - cerrato 2019-02-05 20:14
Ne każdy router, miałem taki który tego ne miał, co było irytujące. - Azarien 2019-02-05 21:09
dlatego napisałem "praktycznie każdy" - cerrato 2019-02-05 21:17

Pozostało 580 znaków

2019-02-07 13:48

Rejestracja: 6 lat temu

Ostatnio: 5 godzin temu

0
[email protected]:~/Documents/workspace/project/frontend/src/main/webpack$ npm i vue-base64-file-upload
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t https://github.com/robson3999/vue-base64-file-upload.git
npm ERR! 
npm ERR! remote: Invalid username or password.
npm ERR! fatal: Authentication failed for 'https://github.com/robson3999/vue-base64-file-upload.git/'
npm ERR! 
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2019-02-07T12_46_40_230Z-debug.log

Jakiś pajac znowu repo rozpadł... Najgorsze że nie ogarniam jak to działa...

edytowany 1x, ostatnio: hzmzp, 2019-02-07 13:53
Fajnie ale nie wszyscy tu znają się na npm. Mógłbyś nakreślić trochę historię. - Sarrus 2019-02-08 09:49
mi to wygląda na to, że do projektu dołączono jakieś dziwne repo, które jest teraz prywatne, albo jeszcze gorzej kolega podał hasło do swojego konta na github podłączył swoje repo, a teraz zmienił hasło do konta github. - MarekR22 2019-02-08 11:01
Sam się nie znam, więc nie wiem jak to naprawić, obecnie ręcznie kopiuje (z innego kompa) brakujący katalog do node_modules... A jak to naprawić to jak będę miał czas się zajmę... - hzmzp 2019-02-08 11:44
Konto zablokowane a jednak pisać może. Magia :) - kzkzg 2020-01-29 19:48
Wywaliłem jej komentarz. Pewnie zaspamowała forum i jakiś mod ją wyciął, a ślady pozostały. - Marooned 2020-01-30 10:33

Pozostało 580 znaków

2019-02-09 15:43

Rejestracja: 4 lata temu

Ostatnio: 8 godzin temu

5

Trochę WTF, a trochę chcę się pożalić. Otóż jestem po kolokwium z podstaw programowania. Myślałem, że dostanę 100% z zamkniętymi oczami. Niestety nie. W zadaniu chodziło o to, że mając kod (naszpikowany minami i pułapkami, który swoją drogą został chyba napisany przez pijanego juniora) trzeba powiedzieć, co zostanie wypisane na ekranie. Zgubiła mnie ta linijka:

System.out.println('\n' + fun(8, 3));

// ...
static int fun(int x, int y) {
    if (x < 3)
        return 0;
    System.out.println(fun(x - y, y - 1));
    return y;
}

Jak myślicie, co wypisze powyższy kod? Myślałem, że:

0
1
2

3

Niestety nie, bo Profesor oczekiwał, że każdy ze studentów zna tablicę ASCII na pamięć. '\n', to 10, a 10 + 3, to 13 :) Dobrze, że jestem bogatszy o tę wiedzę, przyda mi się w pon w pracy :D

edytowany 3x, ostatnio: Desu, 2019-04-02 15:12
Pokaż pozostałe 9 komentarzy
Regułka brzmi: w bierniku tę, w narzędniku tą. Jesteś bogatszy o tę wiedzę, gardzisz tą wiedzą. Dla ułatwienia ~90% (na oko :P) przypadków jest taka sama końcówka: tę wiedzę, tą wiedzą. Zwykła odmiana przez przypadki zaimka wskazującego ta. Pozdro 600 PS, niech Cię nie zmyli przymiotnik typu lubię tĘ pięknĄ książkĘ, patrzymy oczywiście na "książkę" ;) - Marooned 2019-04-02 10:55
Dzięki :) - Desu 2019-04-02 13:05
Dzięki, dzięki, a post nadal nie poprawiony :P :P - Marooned 2019-04-02 15:02
Wszystko spoko, tylko jedna poprawka: ta wiedza ci się nie przyda w pracy. - Pijany Krawiec 2019-04-23 08:54
Nie do końca ;) Są ludzie przywiązujący duża wagę do takich rzeczy. W biznesie to, jak jesteś postrzegany ma bardzo duże znaczenie. - Desu 2019-04-23 10:17

Pozostało 580 znaków

2019-02-11 22:48

Rejestracja: 6 lat temu

Ostatnio: 35 minut temu

0

Gdzie jak gdzie, ale w standardowej libce C++ (libstdc++) nie spodziewałem się mieszania tabów ze spacjami :)
screenshot-20190211224513.png

Przykład: https://github.com/gcc-mirror[...]B-v3/include/std/variant#L388
W takim projekcie nie mieć podpiętego clang-formata, to dla mnie mały WTF

Pokaż pozostałe 3 komentarze
@alagner: nie wygląda na to, bo np. Vim ma możliwość ustalenia osobno shiftwidth oraz tabspace, które (przy ustawionym noexpandtab) dadzą miks tabów i spacji w postaci shiftwidth spacji, ale jeśli sumarycznie dodają się do tabspace to zostaną połączone w taba. Strasznie to skomplikowane i nie wiem czy jakiś projekt tego używa, ale się da. - hauleth 2019-02-13 12:02
@alagner: kurde, myślałem, że trolujesz :) Patrząc w źródła, wyraźnie widać, że każdy formatuje tam sobie kod, jak chce. Dodatkowo, nie widziałem nigdzie .clang-format, więc zakładam, że nie mają podpiętego formattera. Nawet jeżeli istnieje na świecie jakaś konwencja mieszania tabów i spacji, i polega ona na tym, że dziesiątki tysięcy ludzi (patrz kernel) mają ustawioną taką samą szerokość taba, to ja chcę żyć od takiej konwencji jak najdalej ^^ @MarekR22 +1 - stryku 2019-02-13 12:11
Jest taka tabulacja ktora dziala w kazdym edytorze. Ma kod 0x20. - vpiotr 2019-02-13 12:52
@stryku ok, trzymaj się z dala od kernela Linuxa, ale nie troluję. ;) - alagner 2019-02-13 13:11
@vpiotr: złapałeś mnie. - stryku 2019-02-13 14:41

Pozostało 580 znaków

2019-02-16 23:05

Rejestracja: 4 lata temu

Ostatnio: 11 minut temu

Lokalizacja: UK

1

LinkedIn jak zawsze w formie. Przyzwyczaiłem się do niedziałających przycisków na panelu nawigacji, ale to coś nowego.

screenshot-20190216230416.png


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
niedawno niemal cały UI im się równo sypał, miałem nawet im zgłosić - ale tak skutecznie zaszyli formularz kontaktowy, że mi się odechciało. Skoro pchają babole na produkcję, niech się sami męczą z ich łapaniem :) - superdurszlak 2019-02-16 23:07
A już dobrze kodują polskie znaki przy eksporcie resume do pdf? Bo zgłaszałem im to ~3 lata temu ;-) - Marooned 2019-04-02 10:28

Pozostało 580 znaków

2019-02-28 09:19

Rejestracja: 4 lata temu

Ostatnio: 6 godzin temu

5

Przez błąd w systemie jeden z użytkowników miał kilkaset kont w systemie. Na szczęście po kilku godzinach udało się rozwiązać problem, a jedna z zaangażowanych osób ogłosiła: "Cały proces przebiegł poprawnie". Niestety jako nieoczekiwany skutek uboczny użytkownik otrzymał około 1000 identycznych wiadomości, po dwie na każde zlikwidowane konto :D


Wiedza to potęga

Pozostało 580 znaków

2019-02-28 12:12

Rejestracja: 9 lat temu

Ostatnio: 19 minut temu

1

Zachcialo mi sie zupdatowac Jave do 11. Momentalnie czesc softu przestala dzialac. Przy czym jmeter robi to w fajnym stylu (na szczescie wystarczy jednego exita w launcherze zakomentowac.

Druga fajna rzecz to ze java 11 przy java -version wyswietla sie jako Java 10 :)

A jesteś pewny ze nie masz innej Javy 10 zainstalowanej czasem? ;) - Shalom 2019-02-28 12:37
@Shalom: tak. Moge wyswietlic wersje bezposrednio z: /usr/lib/jvm/java-11-openjdk-amd64/bin/java wiedzialem ze taki kwiatek jest na Ubuntu a tu sie okazuje ze na Mincie tez. Tutaj link co to za magia: https://askubuntu.com/questio[...]jdk-10-packaged-as-openjdk-11 - WhiteLightning 2019-02-28 12:49

Pozostało 580 znaków

2019-03-01 14:21

Rejestracja: 12 lat temu

Ostatnio: 3 minuty temu

2

Czasami wystarczy jedna linijka, żeby było WAT:

const auto b64 = base64::encode(json.str(), true);

Nieważne jaki byłby to język, jaki sens ma kodowanie JSon-a do base64? Co autor miał na myśli? Myślał w ogóle jak to pisał?

By mnie jeszcze bardziej dobić, klasa w której jest ten kwiatek nazywa się: MachineConfiguration


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 3x, ostatnio: MarekR22, 2019-03-01 14:29
Pokaż pozostałe 4 komentarze
Nie no JSon zawsze powinien iść jako body w HTTP. Wszelkie inne wersje są radosnym udziwnieniem. Zresztą jak nazwa klasy wskazuje, że ten kod nie powinien mieć nic wspólnego z komunikacją (i nie ma), więc nie powinien też tworzyć JSon-a, ani enkodować czegokolwiek do base64. - MarekR22 2019-03-01 14:45
Trzeba przyznać że autor śmiało i bezkompromisowo kultywuje tradycję nazywania zmiennych rodem z C na 8-bitowcach. - vpiotr 2019-03-01 14:51
base64 zrzuca ci UTF-8 na podstawowe znaki ASCII, a to daje gwarancję, że nie nastąpią błędy w interpretacji danych w trakcie przesyłania. - Koziołek 2019-03-01 18:04
Mi się zdarzyło enkodować jsona do base64, gdy chciałam włożyć obiekt do struktury dokumentu openxml, celem późniejszej deserializacji. Mogłam oczywiście serializować xmla, ale json jest krótszy, a nie chciałam rozpychać dokumentu ponad miarę. - aurel 2019-03-04 13:20

Pozostało 580 znaków

Odpowiedz

2 użytkowników online, w tym zalogowanych: 1, gości: 0, botów: 1

Robot: Semrush

Użytkownik: axelbest