Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

#humorinformatykow

Lider

w Hydepark

6piorunów

Gruba ryba2piorunów

@Deykun ja to się znam na tym całym programowaniu i cybernetyce ale tym co nie rozumieją mógłbyś wytłumaczyć o co cho?

Lider4piorunów

@Rimfire w JS dodaje się zależności pisząc npm install x, to pobiera paczkę z publicznej biblioteki i dodaje ją do listy zależności w package.json. Paczek js jest miliardy, można napisać npm install typescript żeby mieć Typescripta etc. Ktoś zrobił paczkę o nazwie malware, więc można pobrać npm install malware w projekcie. A malware to dosłowanie nazwa na złośliwe oprogramowanie / wirus. Więc instaluje wirusa, i npm pokazuje, że 12 osób tygodniowo to robi. To dowcip.

Jak ktoś pobierze repozytorium z githuba z takim package.json i zrobi npm install to zainstaluje mu też paczkę malware. Tu to oczywisty dowcip, ale dependecies mogą zrobić krzywdę, bo to obcy kod działajacy na maszynie, jeszcze teraz mamy NodeJS które uruchamia javascript bez przeglądarki ze wsparciem czytania plików więc możesz napisać skrypt który kasuje pliki z dysku, wirusy pisane w JS to coś co da się zrobić, tymbardziej, że NodeJS ma duże uprawnienia, a procesy są często odpalane w konsoli z uprawnieniami administratora.

https://www.npmjs.com/package/malware

malwareLatest version: 1.0.0, last published: 9 years ago. Start using malware in your project by running `npm i malware`. There are no other projects in the npm registry using malware.npm
Gruba ryba2piorunów

@Deykun dziękuję w imieniu tych mniej kumatych ode mnie ziomków co nie zrozumieli a teraz wiedzą na czym polega żart.

Pokaż więcej komentarzy (3)

Fanatyk

w Hydepark

20piorunów

Pamiętacie pluskwę milenijną? A co powiecie na problem roku...

2137

Daty GPS są wyrażane jako numer tygodnia i numer dnia tygodnia, przy czym początkowo numer tygodnia był zapisywany jako wartość dziesięciobitowa, a w zmodernizowanych komunikatach nawigacyjnych GPS stosuje się pole trzynastobitowe. Systemy dziesięciobitowe resetują się co 1024 tygodnie (około 19,6 roku) od niedzieli 6 stycznia 1980 roku (epoka GPS), natomiast systemy trzynastobitowe resetują się co 8192 tygodnie. Systemy trzynastobitowe zresetują się do zera w roku 2137.

Ciekawe czy za 112 lat nadal będą popularne memy czy inne dowcipy o papieżu polaku z XX wieku? Może akurat do tego wrócą. Czy system gps nadal będzie używany? Tego nikt z nas się nie dowie.

Źródło: https://en.wikipedia.org/wiki/Time_formatting_and_storage_bugs#Year_2137

Autorytet1piorunów

Co do używania systemu GPS to raczej marne szanse. Kilku futurystów obliczyło że w okolicach 2050 rozwój technologiczny będzie tak szybki i zaawansowany że ludzie nie będą nadążać umysłami za tym i będzie potrzebna sztuczna inteligencja zeby nam to tłumaczyć xD

Osobistość1piorunów

@JanPapiez2 te przewidywania nie są oparte na niczym konkretnym. Aktualny rozwój LLM jest nieprzewidywalny, a jest coraz bardziej prawdopodobne, że na tej strukturze nawet nie da się zbudować AGI. Także ten, palcem po wodzie pisane te rozważania.

Gruba ryba1piorunów

@Iknifeburncat @JanPawel2 też nie wierzę, że nas LLMy od tego wybawią, ale do 2137 roku to chyba tak jakby się dzisiaj przejmować, że niedługo zabraknie mnichów do przepisywania ksiąg albo kowali do podkuwania koni

Osobistość0piorunów

@mordaJakZiemniaczek akurat to co uczenie maszynowe robi coraz lepiej to modelowanie białek i nowe terapie przeciwstarzeniowe mogą zacząć pojawiać się jeszcze za naszego zycia, więc kto wie, może dożyjemy ( ͡° ͜ʖ ͡°)

Osobistość0piorunów

@FriendGatherArena problem z komputerem kwantowym jest taki, że przyspieszenie rozwiązywania równań nie jest aż tak duże, jak się ludziom wydaje. Zresztą, posiadanie narzędzia też nie jest równoznaczne z umiejętnością korzystania z niego. Komputer kwantowy (jakkolwiek futurystycznie nie brzmi) nie jest magicznym rozwiązaniem.

A przynajmniej na tyle, ile rozumiem działanie takiego urządzenia. Temat interesuje mnie co najwyżej na poziomie amatorskim. Zaznaczam, żeby nie było, że się kreuje na niewiadomo kogo będąc anonem na portalu ze śmiesznymi marynarzami.

Gruba ryba1piorunów

@Iknifeburncat nie chodzi o przyspieszenie tych samych obliczeń i algorytmów, które mamy teraz tylko o możliwość prowadzenia innych rodzajów obliczeń, gdzie kwantowe zachowanie kubitów ma lepiej symulować pracę neuronów w mózgu. nie można też mówić, ze samo dodawanie mocy obliczeniowej niczego nie zmieni, bo tak myślano wcześniej, zanim ktoś nie postanowił dokładać więcej mocy pomimo overfitingu

Pokaż więcej komentarzy (9)

GURU

w Heheszki

36piorunów

Ehhh ten i oddzielanie bloków kodu spacjami i tabulatorami xD

Gruba ryba5piorunów

Ja tam lubie i nie mam problemu pre-commit ogarnia 😛

Fanatyk8piorunów

@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 :face_with_raised_eyebrow:

GURU1piorunów

@koszotorobur ale kolego odpowiadasz na "tylko śmieszny obrazek z internetu" 😉 Przecież każde nowoczesne IDE do pythona pewnie bedzie na ciebie darło ryja, że indent zrypany, a jakieś kombajny typu PyCharm od Jetbrainsa to jeszcze Ci wpierdolą przy każdej pomyłce jak spacje za dużo dasz xD

Fanatyk3piorunów

@damw - ale ja lubię odpowiadać na memy 🤷
Poza tym nie każdy wie ile jest prawdy w tym memie.

Pokaż więcej komentarzy (28)

Lider

w Hydepark

5piorunów

Gdy włączasz rano Outlooka, a on Ci funduje mini zawał :grinning:

GURU2piorunów

@WujekAlien kalendarz lepszy

Lider3piorunów

@Okrupnik ale kalendarz służbowy mam w Outlooku 😉

GURU2piorunów

@WujekAlien ale do outlooka to trzeba specjalisty, szef nie zatrudni 😛

Lider3piorunów

@Okrupnik każdego specjalistę da się zastąpić skończoną ilością hindusów, albo jeszcze mniejszą ilością hindusów dostarczanych przez firmę X :grinning:

Pokaż więcej komentarzy (5)

Gruba ryba

w Gównowpis

15piorunów

Biorę po 100zł (mmm, jak pachnie) i słucham Państwa ( ͡° ͜ʖ ͡°)

i w sumie

Fanatyk2piorunów

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

Fanatyk2piorunów

@vrkr - pociągnąłem tylko temat nie psując zabawy 😛

Gruba ryba0piorunów

>pociągnąłem tylko temat
( ͡° ͜ʖ ͡°)

Fanatyk3piorunów

@vrkr - dobra, AI pociągnęło :face_exhaling:

GURU3piorunów

@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ć.

Autorytet3piorunów

@nbzwdsdzbcps jeszcze bym obstawiał, że wszystkie są prawdziwe, ale c wygląda zbyt logicznie jak na js XD

Gruba ryba5piorunów

@nbzwdsdzbcps ( ͡° ͜ʖ ͡°)

~ $ node
Welcome to Node.js v23.11.1.
Type ".help" for more information.
> Math.min() > Math.max()
true
> Math.min > Math.max
true

Pokaż więcej komentarzy (12)

Gruba ryba

w Hydepark

31piorunów

(╯°□°)╯︵ ┻━┻

Osobistość6piorunów

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

Fanatyk2piorunów

@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

Osobistość2piorunów

@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

Osobistość1piorunów

Sorry, ale tzw padding istnieje nie bez powodu, baba jak zwykle robi problem z niczego.

Osobistość0piorunów

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

Pokaż więcej komentarzy (7)