#humorinformatykow
Zaloguj się aby komentować
#heheszki #humorinformatykow
Ehhh ten #python i oddzielanie bloków kodu spacjami i tabulatorami xD

Ja tam lubie i nie mam problemu pre-commit ogarnia
@ostrynacienkim - plus formatter black i życie staje się prostsze
@koszotorobur black wlasnie podpiety w pre-commit
@damw - wystarczy linter i formatter kodu - i problem znika
Poza tym sam Python dokładnie pokazuje w której lini jest złe wcięcie

@koszotorobur Dokładnie, życie z linterem jest znacznie lepsze niż bez.
@koszotorobur ale kolego odpowiadasz na "tylko śmieszny obrazek z internetu"
@damw w devopsie i je⁎⁎⁎ym jamlu jest identycznie ( ͠° ͟ʖ ͡°)
@rith - też są lintery do yamala
@koszotorobur nikt nie mówili że nie ma ( ͡° ͜ʖ ͡°)
ale lintery nie zawsze działają, zwłaszcza przy pisaniu pipelinesów do ADO jest problem
Zaloguj się aby komentować
#humorinformatykow #domowyinformatyk #heheszki #okboomer

Zaloguj się aby komentować
Gdy włączasz rano Outlooka, a on Ci funduje mini zawał
#heheszki #humorinformatykow #outlook

@WujekAlien kalendarz lepszy
@Okrupnik ale kalendarz służbowy mam w Outlooku
@WujekAlien ale do outlooka to trzeba specjalisty, szef nie zatrudni
Zaloguj się aby komentować
Biorę po 100zł (mmm, jak pachnie) i słucham Państwa ( ͡° ͜ʖ ͡°)
#humorinformatykow #programowanie i w sumie #wtf #javascript

@vrkr - za duck.ai:
Oto lista "głupich" rzeczy związanych z operatorami porównywania w JavaScript:
1. **Używanie `==` zamiast `===`**: Operator `==` wykonuje konwersję typów, co może prowadzić do nieoczekiwanych wyników. Zawsze lepiej używać `===`, aby porównywać zarówno wartość, jak i typ.
2. **Porównywanie różnych typów bez zrozumienia**: Porównywanie wartości różnych typów (np. liczby i stringi) może prowadzić do zaskakujących wyników, np. `0 == '0'` zwraca `true`, ale `0 === '0'` zwraca `false`.
3. **Używanie `!=` zamiast `!==`**: Podobnie jak w przypadku `==`, operator `!=` wykonuje konwersję typów, co może prowadzić do błędów. Zawsze lepiej używać `!==`.
4. **Porównywanie obiektów**: Porównywanie obiektów za pomocą operatorów porównania (np. `obj1 == obj2`) porównuje referencje, a nie zawartość obiektów, co może prowadzić do nieporozumień.
5. **Używanie `Object.is()` bez zrozumienia**: `Object.is()` ma swoje specyficzne zasady porównywania (np. `NaN` jest równe `NaN`, a `-0` nie jest równe `+0`), co może być mylące.
6. **Porównywanie wartości `null` i `undefined`**: Używanie `==` do porównania `null` i `undefined` zwraca `true`, co może prowadzić do niejasności, gdy nie jest to zamierzone.
7. **Zbyt skomplikowane wyrażenia porównawcze**: Tworzenie złożonych wyrażeń porównawczych, które są trudne do zrozumienia, może prowadzić do błędów i utrudniać czytelność kodu.
8. **Ignorowanie kontekstu logicznego**: Używanie operatorów porównania w kontekście logicznym (np. w instrukcjach warunkowych) bez zrozumienia, jak działają, może prowadzić do błędnych założeń.
9. **Porównywanie z `NaN`**: `NaN` nie jest równe żadnej wartości, w tym samemu sobie, co może prowadzić do nieoczekiwanych wyników w porównaniach.
10. **Używanie operatorów porównania w pętlach bez zrozumienia**: Używanie operatorów porównania w pętlach (np. `for`) bez zrozumienia ich działania może prowadzić do nieskończonych pętli lub błędów logicznych.
Unikanie tych pułapek może pomóc w pisaniu bardziej niezawodnego i przewidywalnego kodu w JavaScript.
@koszotorobur

@vrkr - pociągnąłem tylko temat nie psując zabawy
@vrkr Tak na oko to obstawiłbym C. Myślę, że A zwraca true, B jest ciekawszym przypadkiem bo bez podania argumentów Math.min() będzie infinity, a Math.max() będzie -infinity także również będzie to true. NaN nie jest równy innemu obiektowi NaN i dalej nie muszę myśleć.
@nbzwdsdzbcps jeszcze bym obstawiał, że wszystkie są prawdziwe, ale c wygląda zbyt logicznie jak na js XD
@nbzwdsdzbcps ( ͡° ͜ʖ ͡°)
~ $ node
Welcome to Node.js v23.11.1.
Type ".help" for more information.
> Math.min() > Math.max()
true
> Math.min > Math.max
true

Metodą wykreślania poprawnych odpowiedzi:
A - w JS prawie wszystko jest obiektem więc to zwróci true
B - funkcja do zwracania najmniejszej wartości z podanych zwróci domyślnie największą możliwą liczbę a ta przeciwna odwrotnie więc też true
D - koncepcja truthy/falsy w JS gdzie przy takim porównywaniu wartości są "konwertowane" na true albo false, zero jest false a pusty string jest falsy więc zwróci true
No i pozostaje to C, gdym rozwiązywał jakiś test i nie miał dostępu od internetu to bym zaznaczył tę odpowiedź. A teraz podczas pisania tego zdania sprawdziłem na internecie dlaczego NaN != NaN i jak się nad tym pomyśli to ma to sens (jak wszystko w JS gdy zna się odpowiednio ten język, ale wtedy wszelkie te memy przestają bawić).
Dla ciekawskich tutaj są odpowiedzi:
https://stackoverflow.com/questions/10034149/why-is-nan-not-equal-to-nan
Zaloguj się aby komentować
Bez foreign keys
Zaloguj się aby komentować
@vrkr Bool nie ma warunku definicji rozmiaru, ponieważ rozmiary typów całkowitych też nie mają gwarancji być zawsze takie same. Ma tylko następujące wytyczne:
-
wartości boolean są tego samego rozmiaru przy porównywaniu
-
jest prawdą jeśli wartość jest niezerowa
Taka minimalna logika pozwala różnym językom implementować to jak chcą, dając użytkownikowi tryb "tak bardzo wyjebane" ja tylko używam true i false i am w d⁎⁎ie jak kompilator robi.
@wielkaberta ale w praktyce najczęściej zajmuje tego bajta
Jeśli nie robi się w embedded lub nie pracuje się z jakimiś bardzo małymi klockami to w ogóle wszyscy mogą mieć to w dupie xd
@ZohanTSW Znaczy się ewaluacja/kalkulacja tej wartości w rejestrze można zredukować do jednego bajta. Bo jest cwany trick by upchać 8 boolów w bajcie .
A potem ktoś potrzebuje boola wypromować do enuma XDDDD
Sorry, ale tzw padding istnieje nie bez powodu, baba jak zwykle robi problem z niczego.
@TRPEnjoyer Padding to wyrównywanie w strukturze przez dodawanie bajtów w strukturze by łatwiej było dobierać się do zmiennych w kodzie maszynowym..
To co mówisz, to jest "promowanie" i sobie takie rvalue "true" sobie maszynowo zamieni na inta.
Ale struktura 8 booli nie musi zajmować 8 bajtów.
@osn_jallr Tak, ale ewaluacja danego boola z bitmaski, na przykład "bitmask & 1<<5" to w rejestrze procesora musi zająć conajmniej jeden bajt. Niżej nie da rady.
Zaloguj się aby komentować
Zaloguj się aby komentować
Zaloguj się aby komentować
Ludzie mają windowsa tylko dlatego że trzeba uruchomic grę.
Change my mind
@kodyak ja bym powiedział, że mają Windowsa, bo był w szkole, na studiach i w pracy. Gdyby Linux się trochę bardziej rozpychał i był w każdej firmie, to byłoby zdecydowanie łatwiej zaanektować domowy rynek.
Pracując w IBMie używałem ThinkPada z RedHatem i był to najlepiej działający laptop służbowy, na jakim miałem przyjemność pracować. Choć miał starą generację i5, to działał szybciej niż mój obecny z nowym AMD, a czas pracy na baterii to była bajka.
@kodyak tutaj wchodzi Gabe cały na biało, dzięki protonowi chyba wszystkie gry niewymagające jakichś antycheatow działają bezproblemowo
Zaloguj się aby komentować
Zaloguj się aby komentować
@damw Preferuję lepszy trolling:
Tu Twoja rodzina. Od pięciu lat pozostajesz w śpiączce. Próbujemy nowej metody by do Ciebie dotrzeć. Nie wiemy czy i gdzie zobaczysz tę wiadomość. Błagamy, wybudź się!
@bori Z jednej strony śmieszne, z drugiej strony, jeśli ktoś ma lekkie skłonności paranoidalne, albo np. próbował grzybków, to jeszcze w przypływie entuzjazmu wyskoczy z okna, żeby się "wybudzić".
@LondoMollari pyk selekcja naturlana
Zaloguj się aby komentować
@damw czas na plan H. Bo plany od A do G nigdy nie działają.
Zaloguj się aby komentować
Najważniejszy kabel do monitorowania sieci ( ͡~ ͜ʖ ͡°)
#humorinformatykow #heheszki #dziendobry

Nie rozumiem
Zaloguj się aby komentować
@vrkr Ahhh.. preprocesor C, czyli jak za pomocą 10 linii kodu wygenerować 10k linii błędów.
Dopiero template'y w C++ miały równie wielkie możliwości w dziedzinie generowania niezrozumiałych błędów.
@LondoMollari wystarczyło pisać poprawny kod ( ͡° ͜ʖ ͡°)
Chociaż z tym templatkami to faktycznie bardziej na chybił trafił się to debugowało
Zaloguj się aby komentować
Kiedy szef każe ci monitorować sieć
#heheszki #humorinformatykow #zajebanezreddita

Zaloguj się aby komentować
Zaloguj się aby komentować
@damw to jest 10 / 10
Zaloguj się aby komentować
#heheszki #humorinformatykow #blackout #zajebanezreddita To nie jest śmieszne, serio.

Na szczęście współczesne płyty główne potrafią już w technologie typu podwójne biosy, przywracanie biosa przyciskiem itp.
@fadeimageone BIOS… stare dzieje. U mnie to już druga czy trzecia płyta główna z UEFI na pokładzie.
@fadeimageone chyba w PKO czy PZU
Zaloguj się aby komentować
NIE jako serwis?
Dzięki temu prostemu API możesz pobierać humorystyczne powody odmowy.
https://github.com/hotheadhacker/no-as-a-service
Działa zarówno online:
Metoda: GET
Limit: 10 zapytań/min/ IP
Można również postawić swój serwer:
git clone https://github.com/hotheadhacker/no-as-a-service.git
cd no-as-a-service
npm install
npm start
#selfhosted #opensource #serwer #api #humorinformatykow


@entropy_ - mam swoją implementację którą wgrałem w mój firmware lata temu
@entropy_ 25 powodów na powiedzenie nie wpakowane w json na 1000 linijek xD
@entropy_ Idę o zakład, że większość z tych 1000 powodów była pisana przez AI. W sumie cały ten "projekt" mógł być.
Zaloguj się aby komentować












