Programistyczne WTF jakie Was spotkały

7

https://aur.archlinux.org/packages/mongodb#pinned-682388

MongoDB potrzebuje do zbudowania 260GB ponieważ testy znajdują się w paczce z pakietem.

5

Endomondo, mam więcej takich.
screenshot-20190825202819.png

2

Mały wtf w Javie.
Piszę sobie klasę do testu, gdzie muszę ustawić konkretną datę, z milisekundami.
No to jadę:
LocalDateTime.of(2018, 8, 8, 4, 5, 0)
Teraz potrzebuję dodać do tego 489 milisekund. Korzystając z tej klasy wcześniej, widzę metody:
plusHours, plusDays, plusMinutes, plusMonths, plusNanos, plusSeconds, plusWeeks, plusWeeks.
Gdzie jest plusMillis? Pytanie z kategorii co autor miał na myśli, i co ich bolało jeszcze dodać jedną metodę do API? Zatem zostaje mi skorzystać z trochę bardziej ułomnego sposobu.
LocalDateTime.of(2018, 8, 8, 4, 5, 0).plus(489, ChronoUnit.MILLIS)
Działa, choć niesmak pozostał...

2

title

Każdy taki pliczek od D0 do D53 zawiera praktycznie to samo.

package com.ardublock.translator.block;

import com.ardublock.translator.Translator;
import com.ardublock.translator.block.exception.SocketNullException;
import com.ardublock.translator.block.exception.SubroutineNotDeclaredException;

public class D36 extends TranslatorBlock
	{

		public D36(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
		{
			super(blockId, translator, codePrefix, codeSuffix, label);
		}

		@Override
		public String toCode() throws SocketNullException {
			return codePrefix + "36" + codeSuffix;
		}
		
	}
2

smbclient '\\zasób' -U uzyszkodnik -c "put kaczka.txt kaczka.txt" '---' 2>&1

W odpowiedzi otrzymałem
ntlmssp3_handle_neg_flags: Got challenge flags[0x60898205] - possible downgrade detected! missing_flags[0x00000010] - NT code 0xc0020057
session setup failed: NT_STATUS_MORE_PROCESSING_REQUIRED
did you forget to run kinit?

A tak naprawdę użytkownik nie istnieje.

8
Log.wtf(String tag, String msg)
//What a Terrible Failure: Report a condition that should never happen

https://developer.android.com/reference/android/util/Log.html

1

Zapraszam do poczytania
https://www.assembla.com/home
A później zabawne jest tu

0
Freja Draco napisał(a):

Pozwolę sobie skomentować komentarze odnośnie mojego powyższego WTF
x = 0.1 + 0.2; // -> 0.30000000000000004 - JavaScript rulez!

Tak, wiem że dwójkowa reprezentacja ułamków dziesiętnych może skutkować dziwacznymi wynikami. Walczyłam z podobnymi efektami już 20+ lat temu. Niektórzy komentatorzy pisali powyżej, coś w stylu "przecież to jest zapisywane w postaci dwójkowej, więc takie będą efekty", z czym pozwolę się sobie nie zgodzić, bo zapis wartości w postaci dwójkowej nie wymusza wcale, by operacje matematyczne z ich udziałem wykonywać zawsze po prostu na bitach.

Moje WTF tyczy się tego, że po ponad 20 latach nie widzę w tej kwestii żadnego postępu, a twórcy języka/implementacji nie widzą żadnego problemu w tym, żeby taki sposób przeprowadzania operacji stosować w języku "dla ludu", w którym ktoś mógłby chcieć np. podliczyć swoje rachunki.

A na koniec wkleję skrin z identyczną operacją przeprowadzoną w Basicu na prawie 40-letnim Commodore 64:

C64, basic, dodawanie

jako komentarz, dla tych, którzy uważają, że "tak po prostu jest, więc tak musi być".

To przez to w jaki sposób liczby zmiennoprzecinkowe są trzymane w pamięci.
Np. zapisując 0.1 w float (32bit) w pamieci zapisuje sie 0x3DCCCCCD co jest równe 0.10000000015

10

Wrzucanie filmiku promocyjnego z takim kodem like a boss

ifologia, null na nullu, komentarze i kod czasem po czesku, metoda na cały ekran (to jest chyba dopiero połowa tej ifologii), własne exceptiony (throws RohlikException), fajnie że Javę 8 odkryli bo widać filtry, szkoda że Optionala nie widać, widok na linii 275 a pasek przewijania na samej górze więc zakładam ok 1,5k linii w tej klasie, profil w IntelliJ - "production" :D
screenshot-20190921233953.png

1

title
Eee tssso? To w końcu Janki czy Warszawa i Blue City?

4

mBank wprowadził bardziej złożony system uwiarygodniania klienta. Przy każdym logowaniu system "rozpoznaje moje urządzenie", co oznacza, że po prostu sadzi ciastko i do ponownego rozpoznania wymaga, żebym pozwalała mBankowi przechowywać u siebie te ciastka, co kłóci mi się z zasadami poszanowania prywatności.

Ten sam mechanizm po stronie banku nadaje mojemu urządzeniu tę samą domyślną nazwę, powiedzmy "Windows Firefox", jeśli raz dodam do zaufanych urządzenie o takiej nazwie, to przy kolejnym logowaniu nie mogę dodać go ponownie, bo... takie urządzenie już istnieje w systemie. Żeby się zalogować, tworzę zatem kolejne "Windows Firefox2", "Windows Firefox3", póki co doszłam do numeru 7 i od dwóch tygodniu niczego w tej kwestii nie naprawili.

Jeśli nie naprawią, to będę chyba przy każdym logowaniu monitować, że ich rozwiązanie jest nieprofesjonalne, a jego ew. obejście poprzez przechowywanie mBankowych ciastek narusza prywatność klientów.


Swoją drogą to nie jest pierwsze WTF jeśli chodzi o mBank w ciągu ostatniego roku i mam niestety przykre wrażenie, że bank, który 20 lat temu wyznaczał standardy w internecie ostatnio zatrudnia u siebie chyba jakichś informatyków na stażu :(

EDIT: Swoją drogą myślałam, że to ja mam problem, ale to co ludzie w ciągu ostatnich dni odnośnie mBanku raportują, to po prostu jakiś sajgon:
https://downdetector.pl/status/mbank/aktualnosci/268940-awaria-w-mbank

Się normalnie zaczynam zastanawiać, czy by się w końcu nie przenieść do jakiegoś normalnego banku z porządnym interfejsem ala pierwszy mBank.

0
OtoKamil napisał(a):

/ciach/

własne exceptiony (throws RohlikException)

Przepraszam, ale to ma być coś niewłaściwego z definicji?
Dlaczego?

0

Do tej pory nie używałam bibliotek boost w c++. Natrafiłam na kod gdzie jest używane uBLAS, no ok. Patrzę w kod a tam zdefiniowana funkcja operująca na wektorze z tej biblioteki , służąca do....... obliczenia jego długości. Biblioteka do operacji na wektorach i gostek nie pomyślał żeby poszukać czy takiej funkcji już nie ma. Przyznaję ze norm_2 to może mało intuicyjna nazwa, ale dało się wyszukać jeżeli się chwile pomyślało

1

Twój zegar się śpieszy
Nie można nawiązać prywatnego połączenia z useme.eu, ponieważ data i godzina (niedziela, 6 października 2019 1943) ustawione na komputerze są nieprawidłowe.

Co to za kretyństwo i czemu ma niby służyć? Mam taką godzinę w systemie, jaka odpowiada moim ciemnym interesom, a co w przypadku komputera z innej strefy czasowej? I w ogóle WTF?

2
Freja Draco napisał(a):

... Mam taką godzinę w systemie, jaka odpowiada moim ciemnym interesom, a co w przypadku komputera z innej strefy czasowej? I w ogóle WTF?

Ten komunikat mówi trochę więcej:

Ten serwer nie mógł udowodnić, że należy do useme.eu. Jego certyfikat bezpieczeństwa wygasł wczoraj. Może to być spowodowane błędną konfiguracją lub przechwyceniem połączenia. Zegar komputera jest obecnie ustawiony na niedziela, 6 października 2019. Czy to prawidłowa data? Jeśli nie, musisz skorygować zegar systemu, a następnie odświeżyć tę stronę.

1
Delor napisał(a):

Ten serwer nie mógł udowodnić, że należy do useme.eu.

No takie info dostaję pod FF, ale Chrome zdaje się sugerować, że to ustawienia zegara w mojej maszynie psują Internet ;)

8

Zalozylem na AWS budzet na $5. Dostalem rachunek na $28.
Czy tylko dla mnie budzet w znaczeniu "wyslemy Ci info ale bedziemy dalej naliczac" jest WTFkiem?
A moze czegos nie kliknalem?

0

Mistrzostwo swiata - system do glosowania w Budzecie Obywatelskim Krakowa. Moga glosowac mieszkancy w dowolnym wieku w tym dzieci. ALE system wymaga podania unikalnego maila i telefonu. Wiec jak dzieciak nie ma jednego albo drugiego to nie da sie podac danych rodzica, tylko zostaje odciety od glosowania :O

1

Instalacja MySql 5.7.27 na Linux Mint 19 i podlączenie do Netbeans 10.

Owszem da sie, tylko trzeba iles tam stron przejrzec...

  • nic nie mowiace komunikaty bledow
  • roznica w timezone blokuje polaczenie
    Itd...

Polecam jako cwiczenie cierpliwosci.

1

Ponad 10 lat doświadczenia i...


var concreteObject = null;
foreach (var id in ids) 
{
   var record = repository.GetRecord(id); // Woła db przy każdym ID, 
   // ustawianie właściwości obiektu 
   mapper.Map(record, object) // Poprawnie mapuje, 
   _context.Records.Update(record);
   _context.SaveChanges();

} 

Na bulk update zwrócił uwagę, jak już poprawki wpadły...
Ale może to dlatego, że robi z juniorami, i nie chce przesadnie komplikować ;)

0

Dziś rano zobaczyłem taki model: screenshot-20191022200408.png
Przyznam się, że nie zrozumiałem zamysłu autorów tego cuda. Podejrzewam, że chodziło im o zwykłą klasę asocjacyjną dla Foo i Bar, a nie o kompozycję.

12

Orange mi doprowadził światłowód do studzienki obok domu i są efekty:

screenshot-20191028144740.png

Boję się myśleć, ile będzie, kiedy go podłączą :D

1

Robie duze testy wydajnosciowe e2e ktore ida jak po grudzie. Wielu rzeczy sie spodziewalem ale nie ze AWS padnie ...

4

Właśnie zobaczyłem taki kawałek kodu w projekcie komercyjnym :/
Poszedłem zalać yerbę, żeby trochę to rozchodzić.


struct Foo
{
    std::vector<Bar> samples;
};
...
Bar Baz::point(int index) const
{
    for(auto it = mFoo.samples.begin(); it != mFoo.samples.end(); ++it, --index)
    {
        if(index == 0)
        {
            return { it->first, it->second };
        }
    }

    return {};
}
1
pl.bazus.shared.wiadomosci.service.PodgladWiadomosciService.getUzytkownicLabel(PodgladWiadomosciService.java:105)
pl.bazus.shared.wiadomosci.service.PodgladWiadomosciService.getPodgladWiadomsciDto(PodgladWiadomosciService.java:87)
pl.bazus.shared.wiadomosci.service.PodgladWiadomosciService.getWiadomosc(PodgladWiadomosciService.java:39)
pl.bazus.shared.wiadomosci.service.PodgladWiadomosciService$$FastClassBySpringCGLIB$$671f52f3.invoke(<generated>)

Fragment stacktrace softu który jest używany przez co 3 uczelnie w Polsce. Poza tym system pozwala pobierać dane innych użytkowników. Co poważnie narusza RODO :D

3

Tak wygląda w praktyce j****y syf o nazwie agar.io:

syf.png

Zatnie się całkowicie w połowie gry i zaczyna zżerać RAM bez opamiętania. W przykładzie powyżej gdy gra się zacięła, szybko właczyłem menedżer zadań i obserwowałem co tam się dzieje – skok zużycia pamięci trwał ze 20 sekund, przeglądarka doładowała ponad 500MB (aż do stanu ze zrzutu), po czym zużycie pamięci po odwieszeniu gry nagle spadło do około 800MB. Przy czym Firefox w wersji którą używam sam w sobie alokuje około 300MB.

To już ludzkie pojęcie przechodzi jacy mentalni inwalidzi zabierają się za gamedev… :d

1
furious programming napisał(a):

Tak wygląda w praktyce j****y syf o nazwie agar.io:

Graj w http://bubble.am

3

Słabo chyba im produkty na tym sklepie schodzą, bo na lepsze serwery nie uzbierali :P
title

1

Piszę algorytm, uruchamiam. Widzę, że program się zatrzymuje (w znaczeniu: jest uruchomiony, ale gdzieś zablokowany) - w pewnym momencie nic się nie dzieje, ale też nie wywala żadnego wyjątku. Wut?
Znalazłem miejsce "zawieszenia się", wygląda na to, że Java zbugowała się na operacji arytmetycznej :D

Rozwiązanie tej zagadki:

  • w operacji arytmetycznej wychodziłem za zakres tablicy
  • z jakiegoś powodu IntelliJ nie wyświetlał rzucanego wyjątku (lub tego nie zauważyłem, ale mało prawdopodobne)

To było niesamowite, przeżyć takie wtf :D

0

Skoro narysowane zero ma odwagę przyznać się do spłodzenia buga, to mogę i ja mieć.
Skompilowałem program w C i testowałem zmiany. Zadzwonił kolega spytać jeszcze o jakiś test. Żeby nie ruszać konfiguracji ani logów, skopiowałem całą apkę do innego katalogu i uruchomiłem. Program uruchomiony w nowym katalogu nie generował w nim żadnych logów do pliku. WTF? Przecież zmieniłem to w konfiguracji. Oczywiście PEBCAK: logi trafiały do katalogu, który był ustawiony przez polecenie configure a binarka przecież ta sama. Potem już wiedziałem co z tym robić :) .

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