Programistyczne WTF jakie Was spotkały

Programistyczne WTF jakie Was spotkały
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,

Znalazłem jeszcze jeden WTF w powyższym kodzie. Stosowałeś tam "var" zamiast wpisać normalnie zmienną "Visit".
Czemu tak zrobiłeś?

Pozdrawiam

  • Rejestracja: dni
  • Ostatnio: dni
0

Taaa... a potem podczas analizy kodu, zastanawiać się co artysta miał na myśli. Po to sa nazwy klas by z nich korzystać, a nie wymyślać sobie uniwersalne nazwy nic nie mówiące.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
4
PanPytaPanNieBladzi napisał(a):

Taaa... a potem podczas analizy kodu, zastanawiać się co artysta miał na myśli. Po to sa nazwy klas by z nich korzystać, a nie wymyślać sobie uniwersalne nazwy nic nie mówiące.

Po to jest inferencja typów, by z niej korzystać. Wiesz, że w niektórych językach w ogóle nie deklaruje się typów zmiennych?
I która nazwa nic Ci nie mówi? Zmienna visit zdefiniowana jako new Visit? W takim razie problem analizy kodu Ciebie nie dotyczy, bo żadnego nie jesteś w stanie przeanalizować.

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
2

Zrobiłem wpłatę (prawdziwych) pieniędzy na konto i otrzymałem mejla o tytule: "TEST - Potwierdzenie otrzymania wpłaty."
Brzmi groźnie.

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
5

Nie tyle stricte programistyczne, ale generalnie wymyślili to chłopcy z M$. Otóż outlook blokuje załączniki. Bywa. Blokuje pliki z rozszerzeniem XML. Bywa. Nie udostępnia opcji "pobierz mimo wszystko". Delikwent, który wymyślił takie podejście powinien zawisnąć... zabawniejsze jest jednak rozwiązanie.
Sam M$ proponuje wysłanie pliku z innym rozszerzeniem. Ja wiem jak je zmienić. Pani Basia w urzędzie w Wilkowyjach niekoniecznie. Względnie wysłać plik skompresowany... który też zostanie zablokowany...
Najzabawniejsze jest jednak ostatnie rozwiązanie podane na ich stronie... prośba do admina serwera exchange i przegrzebka w rejestrze....

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
2

Zamawiałem właśnie obiad online. Dostawca korzysta z usługi pyszne.pl.
W komentarzu napisałem, że firma znajduje się na dwóch piętrach, wiec można dostarczyć jedzenie pod jeden z dwóch adresów.
Dostałem maila potwierdzającego, ale estymowany czas wykonania zamówienia wskazywał na 2 minuty do tyłu, więc zadzwoniłem do dostawcy.
On twierdzi, że nic mu na drukarce nie wyszło, więc złożyłem zamówienie telefonicznie (z zastrzeżeniem, by uważał na duplikację zamówienia), tak na wszelki wypadek.
5-10 minut potem dzwoni telefon z Łodzi (siedzę w Krakowie), gość się dopytuje o ten komentarz.
WTF serwis internetowy zatrudnia żywych ludzi do przetwarzania zamówień. Ten komentarz powinien wyjść na drukarce u dostawcy, automatem, a wszelkie wątpliwości powinie rozstrzygać z klientem dostawca.

PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 61
0

oj jest tego full.... kiedyś jak instalowałem klientowi PS-a, instalator wywalił komunikat całkowicie pusty (żadnej treści, nagłówka tylko wykrzyknik)....
Dwa lata temu dostałem od klienta dysk 1TB z odłamanym ramieniem hta..... na potwierdzeniu przyjęcia notatka o "soraya FUCKS".....

Kiedyś gnojek z helpdesku jednej z firm ft koniecznie wcisnąć mi chciał że on wie lepiej na jakim ja sprzęcie pracuje. Nawet podał mi jego (oczywiście wymyśloną) konfigurację...... jeszcze kilka razy im odwalało aż dostali bana ISP......

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Prosty dokument Corela (jedna figura - prostokąt) zapisany w formacie wersji X4 zajmuje 10 kB, a w formacie X6 już 1,3 MB. W obu przypadkach zapisany pod tym samym Corelem X6.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0

https://www.imperialviolet.org/2014/02/22/applebug.html
Kiepskie są te standardy kodowania w Apple, ten błąd dowodzi, że:

  • kompilują ważne biblioteki bez flagi -Wall (powinno wyjść "unreachable code")
  • goto które przechodzi code review
  • brak testów automatycznych, dla tak krytycznej dla bezpieczeństwa biblioteki.
sprzedamsanki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 278
1

Visual Studio 2010 na Win8. Non stop używany przez mnie podgląd wartości zmiennej stringowej w oknie modalnym z doinstalowanym formatowaniem JSONa, z jakiegoś powodu przy zamknięciu często (choć nie zawsze) powoduje reset explorera, a przynajmniej przerysowanie wszystkich okien łącznie z pulpitem w systemie. Dzieje się to bardzo szybko i nie próbuję nawet tego naprawić. Biorąc pod uwagę czas jaki bym zmarnował na znalezienie przyczyny, to nie warto. WTF jednak się pojawił kiedy zauważyłem, że czasem podczas przerysowania pojawia się na chwilę to menu, które się rozwija po najechaniu na prawy brzeg ekranu w Win8. Powoduje ono zawsze pojawienie się także zegara w lewym dolnym rogu. Gdzie WTF? Otóż w trakcie tych losowych przerysowań zegar pokazuje godzinę niemającą nic wspólnego z aktualną, co więcej na obu monitorach jest ona różna.

Teraz parskam śmiechem w pracy za każdym razem jak ot zobaczę.

SW
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 426
7

Otwieranie strony z wymuszonym trybem zgodności z IE7 powoduje włączenie akutalizacji Offica ;o

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Defraggler od paru godzin pokazuje "Pozostały czas: 1 minuta".

AB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 464
5

Jak można wydać 50 milionów?
https://empatia.mpips.gov.pl/

Parę słów na temat pozyższego: http://biznes.interia.pl/wiadomosci/news/mpips-uruchamia-portal-informacyjno-uslugowy-emptia,1973602,4199
"koszt projektu to ok. 50 mln zł"

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
0

Hardwarowy WTF:

Facet wszczepiajacy sobie komputer wielkosci paczki papierosow do reki.

http://www.vice.com/motherboard/diy-cyborg?utm_medium=cpc&utm_source=gravity&utm_campaign=gravity

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
1

Jak powszechnie wiadomo produkty dużych korporacji są dziwne... DB2 by IBM.

W schemacie tworzę sobie tabelę:

id:INTEGER
kraj:VARCHAR(20)
typ:VARCHAR(20)
licznosc:INTEGER

następnie robię insert:

Kopiuj
insert into raport_storeX (kraj, typ, licznosc) values ("POL", "T111", 1);

Wali błędem error -206 niepoprawny identyfikator WOJEWODZTWO.

WTF?

Okazuje się, że DB2 jest case-sensitive w zapytaniach, ale... DB2 robi upperase dla wszystkich identyfikatorów w parsowanym zapytani... mało tego... tylko w przypadku gdy zapytaniem jest INSTER.

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
0

Praca z klientem jest zawsze źródłem wtf-ów...

Wysyłam sqlkę do weryfikacji z pytaniem czy jest poprawna z ich punktu widzenia. Chodzi przede wszystkim o to czy jeden z warunków działa prawidłowo (IMO, tak ale niech oni za to odpowiadają)...

Odpowiedź klienta

Nie mam jak tego przetestować ani zweryfikować.
Jeżeli zapytanie zwraca wartości i realizuje potrzeby biznesowe raportu, jest poprawne

Czy zapytanie spełnia warunki?
Nie wiem, ale jeżeli spełnia to spełnia...

shit...

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2964
9

Mój operator kablówki ma fajne podejście do bezpieczeństwa.

WTF #1: Router zainstalowany przez operatora ma interfejs administracyjny dostępny z zewnątrz.
WTF #2: Nie da się zablokować WTF #1.
WTF #3: Router przychodzi z domyślnym loginem i łatwym hasłem (coś w stylu admin/123), a wszystkie routery mają taki sam login i hasło.
WTF #4: Nie da się zmienić loginu ani hasła.
WTF #5: Wszystkie routery w bloku są w jednej sieci lokalnej, bez jakiegokolwiek firewalla pomiędzy.
WTF #6: Na jednym IP jest więcej niż jeden router. I nie, nie chodzi o NAT. Jak wpiszę adres IP swojego routera, to wcale nie jest gwarantowane, że zgłosi się mój router. Może się zgłosić router sąsiada. Odświeżę stronę i zgłasza się router innego sąsiada. Właściwie nawet nie wiem nawet jak to jest możliwe.
WTF #7: Aby mieć gwarancję, że się modyfikuje ustawienia swojego routera, a nie routera sąsiada, operator radzi wypiąć z niego kabelek przychodzący z klatki schodowej.
WTF #8: Interfejs administracyjny routera udostępnia hasło do WiFi jawnym tekstem. Wystarczy podejrzeć źródło strony.
WTF #9: Ludzie mają strasznie słabe hasła do WiFi (ale to jest akurat znana rzecz).
WTF #10: Routery w ogóle nie zapewniają NAT ani firewalla. Znając IP w sieci lokalnej bez problemu można pingować komputer sąsiada podłączony do innego routera.
WTF #11: W ogóle magiczne rzeczy się dzieją - np. jak podłączę się do ich routerka przez wifi, to Internetu nie mam, jak podłączę się przez Ethernet to Internet jest. A miesiąc temu było na odwrót. Bardzo możliwe, że rozmnażanie IP poprzez strategię "wiele urządzeń na jednym IP" ma z tym coś wspólnego, albo jest jeszcze jakiś inny WTF.

BTW: Operator obiecał zająć się tą sprawą, ale nie potrafi określić, kiedy to naprawią.

Ola Nordmann
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 414
1
Kopiuj
mongo[mDB.DB['PLAYER']].find({id_user: id_user}, { _id: 0 }, function(err, result) {
    if (err || !result)
       callback(false);
    else if (!mFn.validateJSON(result[0])) 
      callback("null");
    else 
      callback(true);
  });

Na dobry początek coś takiego. Dalej jest jeszcze gorzej. Ciekawostka: validateJSON sprawdza, czy dany obiekt da się sprowadzić do JSON, czyli... czy istnieje :|

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
0
Kopiuj
<!--[if IE 8]>   
    <html class="no-js ie ie8 lt-ie9" lang="pl"> 
<![endif]-->
<!--[if IE 9]>   
    <html class="no-js ie ie9" lang="pl">
<![endif]-->
<!--[if gt IE 9]>
    <html class="no-js" lang="pl">
<![endif]-->
<!--[if !IE]>
    <html lang="pl">
<![endif]-->

Ostatni warunek... strona za 100 milionów... bank... WTF????

AB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 464
0

Serio programistom PHP tak słabo płacą? 5zł na godzinę?
Poszukiwany PHP Developer

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
1

Ostatnio grzebie się w iOSie i regularnie natrafiam na dziwactwa tej platformy.
UIToolbar (ten element na górze z buttonami do nawigacji) ma właściwość tintColor.
W wersji iOS mniejszej niż 7.0 tintColor miał wpływ na kolorystykę samego UIToolbar nie miał wpływu na guziki.
Od wersji 7.0 Apple jednak wymyśliło, że zmieni znaczenie tintColor, od teraz ten kolor ma wpływ na kolor ikonek w buttonach, a poprzednią funkcjonalność przejął barTintColor.
To już jest niezły WTF, ale najlepsze jest właśnie z barwieniem ikonek, tintColor powoduje, że wyświetlane ikonki są przerabiane tak, że wszystkie nieprzezroczyste piksele dostają ten właśnie kolor, więc ikonka zachowuje jedynie kształt, a tak staje się cała jednobarwna (domyślnie niebieska).
Przez ostatnie parę dni szukałem jak obejść tą wspaniałą "funkcjonalność". Ustawienie tintColor na nil nic nie daje (przywraca domyślną wartość, a właściwie dziedziczy ją po widokach rodzicach).
Potem próbowałem kolor o nazwie "clearColor" , ale ikonka znikła.
Po długich poszukiwaniach w końcu znalazłem rozwiązanie:

Kopiuj
UIImage *icon = [[UIImage imageNamed: @"iconName.png"] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal];
barItem.image = icon;

https://developer.apple.com/library/ios/documentation/uikit/reference/UIImage_Class/Reference/Reference.html#//apple_ref/occ/instm/UIImage/imageWithRenderingMode
https://developer.apple.com/library/ios/documentation/uikit/reference/UIImage_Class/Reference/Reference.html#//apple_ref/doc/c_ref/UIImageRenderingMode
Dla tych co nie znają Objective C, to najpierw jest tworzony obiekt z ikoną, a następnie na jego podstawie tworzony jest jego kopia, z drobną modyfikacją, która zapewni normalny rendering, a nie ten zmodyfikowany przez tintColor. Szkoda, że nie dodali linka w tintColor do tego API w UIImage oszczędzili by ludziom choć troszkę nerwów.
Takiego WTF w API to w życiu nie widziałem.

Skoro takie cuda potrafią wymyślać, to aż strach pomyśleć jak wygląda kod odpowiedzialny za bezpieczeństwo. Niektórzy tak narzekają, na bezpieczeństwo Androida, ale gdyby wyciekł kod iOS-a to okazało by się, że ma kilka razy więcej dziur niż Android.

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
1

Nokia HERE Maps.

Żeby nie można było palcem na mapie wskazać: STĄD - DOTĄD?
Żeby nie można jako początku trasy albo celu wybrać pozycji z ulubionych? (to po co one są, jako pasywne gwiazdki na mapie?)

Pała z funkcjonalności.

AB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 464
0

Współczuję wszystkim programistom PHP, naprawdę...
Programista www / php / haxe

15zł/h brutto umowa o dzieło albo 15/h netto na b2b? Rly? Jeszcze wymagają doświadczenia... Co prawda to tylko jakieś wizytówki, CMS-y, sklepy ale mimo wszystko... chyba panie w Biedronce podobnie zarabiają i jeszcze mają ciepłą posadkę na umowę o pracę...

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Getin Online nie przestaje mnie zadziwiać. Podczas logowania przy niewypełnionym polu hasła można wcisnąć enter i następuje próba zalogowania. Bardzo wygodne.
Gorsze jest to, że gdy np. po zerwaniu lokaty spróbujemy wykonać przelew ze swojego konta, to pojawi się komunikat o braku wystarczającej ilości środków na koncie. Czyżby ktoś u nich nie ogarniał transakcji i wyświetlał losowe komunikaty?

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
0

Duży bank na M....

Wchodzimy na konto oszczędnościowe, przełączamy widok historii na wersję z poprzedniej wersji serwisu, bo tylko tam mam eksport do CSV. Robię eksport
Wchodzę na konto główne próbuję zrobić to samo dostaję historię oszczędnościowego...

Pomaga twarde przeładowanie strony (ctrl+f5) oraz oczywiście przelogowanie się.

JK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
0

Klasa...3.4k linijek, w każdej metodzie taki kod:

		$db = NewADOConnection(database_type);
		$db->Connect(host, user,  password, database);

I tak klas jest kilka....

Nigdy więcej freelancerki.

  • Rejestracja: dni
  • Ostatnio: dni
0

W kodzie pewnego systemu finansowego.

Kopiuj
public Typ nazwa(argumenty){
    return (Typ) wywołanie_funkcji(6 argumentów z czego 4 wywołania funkcji{
        public void funkcja1(argumenty){logika}
        .
        .
        .
        public void funkcja7(argumenty){logika}
    )};
}
Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
5

Lekcja z dzisiaj. W ubezpieczeniach mówimy o trzech stronach Ubezpieczycielu, Ubezpieczonym i Ubezpieczającym. Pytanie co robi ten kod:

Kopiuj
ubezpieczony.getDaneUbezpieczeniowe().getIdOsobyUbezpieczonej()

Odpowiedź: zwraca ID ubezpieczającego. Takie to oczywiste...

BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
1

To chyba też się załapie na "wtf"...

Kolos z algorytmów w Delphi/Pascal bo to jedyny język który Pani Dr. była w stanie nauczać.
Dostaję do napisania Fibonacciego rekurencyjnie więc piszę. Delphi nie chce ze mną współpracować (wywaliłem {$APPTYPE CONSOLE} i dlatego) więc przerzucam się szybko na Free Pascala gdzie wszystko działa. Oddaję i dostaję 3+ (pomijam, że max można było dostać 4, a przydzielanie zadań o różnym poziomie trudności na różne oceny było na zasadzie - Ty dostaniesz takie, a Ty takie.). Dociekam więc dlaczego tylko 3+ (po sprzeczce o podział ocenowy rozdawanych zadań o którym nikt nie wiedział) IMHO całość działała jak należy. Pada odpowiedź:

  • Uznałam, że musiał Pan ściągać bo nie pisał Pan w Delphi tylko użył Free Pascala. Ale po dłuższym zastanowieniu stawiam jednak 4.
abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
5

Oracle wersja 10.0.2 XE, czyli darmowa. Proste zapytanie w stylu:

Kopiuj
SELECT pole1, Sum(pole2) pole2, pole3 WHERE pole4 IN ('Wart1') AND pole5='Wart2' HAVING Sum(pole2) > 0 Group By pole1, pole3 ORDER BY pole1

w SQLTools przechodzi bez problemu i zwraca kilka wierszy. W .NET CF przy użyciu komponentu dotConnect for Oracle firmy devart, który pozwala na bezpośrednie połączenie z urządzeń z windowsem ce/mobile do oracle, wysypuje się z komunikatem ORA-00600 internal error code. Pierwsza odpowiedz jaką można znaleźć/dostać na temat takiego błędu to "daj sobie spokój z szukaniem - dzwoń do supportu". Po głębszym przegrzebaniu googla trafiłem na wskazówkę - dodaj na końcu warunku OR 0=1. Po zastosowaniu całe zapytanie wygląda tak:

Kopiuj
SELECT pole1, Sum(pole2) pole2, pole3 WHERE (pole4 IN ('Wart1') AND pole5='Wart2') OR 0=1 HAVING Sum(pole2) > 0 Group By pole1, pole3 ORDER BY pole1

i o dziwo działa :/. Ma to związek z innym planem zapytania. Przyjąłem do wiadomości, pogodziłem się z tym faktem i tak zostało z komentarzem, żeby nie usuwać bezsensownego warunku.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.