Programistyczne WTF jakie Was spotkały

Odpowiedz Nowy wątek
2009-04-03 11:31
rnd
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-25 11:46
3

Informacja z wczoraj:

https://youtrack.jetbrains.com/issue/KT-28061

fun foo(x: Any?): String {
    x?.equals(return "")
    // No error about missing return
}

Due to the compiler bug in diagnostic about "missing return", this code compiles fine. On runtime, if x == null, default value is returned (null for reference types).
Looks like it hasn't ever been reported (probably due to the highly weird code).

//Edit: Dla osób które nie programują w kotlinie: fun foo(x: Any?): String oznacza że wartość którą zwracamy nie może być nullem.

edytowany 1x, ostatnio: lubie_programowac, 2019-01-25 11:53

Pozostało 580 znaków

2019-01-30 17:40
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
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
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ą.


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
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

Pozostało 580 znaków

2019-02-09 15:43
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
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
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
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
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

Odpowiedz
Liczba odpowiedzi na stronę

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