🗃️ Z Archiwum IT | Node.js w roku 2009 - Jak to się stało że JavaScript chodzi na serwerze? | odc. 5

JustJoinIT

Z Archiwum IT

🗃️ Z Archiwum IT | Node.js w roku 2009 - Jak to się stało że JavaScript chodzi na serwerze? | odc. 5

Z Archiwum IT

Dobra, to co, lecimy?

Alright, so what, are we going?

Cześć, witajcie z archiwum IT, czyli podcaście, w którym poruszamy nieco starsze technologie,

Hi, welcome to the IT archive, which is a podcast where we discuss some older technologies.

opowiadamy kiedy powstały, po co powstały, jaki był kontekst ich powstania,

we tell when they were created, why they were created, what the context of their creation was,

zwłaszcza z naszej perspektywy 2023 roku.

especially from our perspective in the year 2023.

I bierzemy dzisiaj na tapet...

And today we are taking on...

Noda, tak żeby cię nostalgicznie...

Noda, just to make you nostalgic...

Tak, żeby was nie zmyliło, bo tu też o dziwo czasem ludzie myli,

So that you won't be misled, because surprisingly, sometimes people get confused here too,

chodzi o Node.js, by the way, bardzo mnie ubawiło, że ludzie czasem mylą,

It's about Node.js, by the way, I found it really amusing that people sometimes confuse it,

że chodzi o Node.da w dowolnym innym znaczeniu, a nie Node.js.

that it concerns Node.da in any other meaning, and not Node.js.

Myślisz, że jeszcze?

Do you think so still?

Znalazłem takich parę wątków na Stack Overflow, także one były dość stare, ale tak, tak były.

I found a few such threads on Stack Overflow, so they were quite old, but yes, yes, they were.

Pamiętam, że historycznie faktycznie wypadało to doprecyzować i też, jeżeli chodzi o samą nazwę,

I remember that historically it was indeed necessary to clarify this, and also, regarding the name itself,

czy to się pisze z kropką, czy to jest Node.js z wielkimi literami?

Is it written with a dot, or is it Node.js with capital letters?

Kto wie?

Who knows?

To jest bardzo wielkie pytanie, nie odpowiemy.

This is a very big question, we won’t answer it.

No nie, dzisiaj, sorry, ale tak, dokładnie zahaczymy się o Node.js-a.

Oh no, today, sorry, but yes, we will definitely touch on Node.js.

Tutaj małe pytanie, od kiedy w ogóle pracujesz z jakimikolwiek projektami, które by używały Noda?

Here’s a small question: since when have you been working on any projects that use Node?

Tak może sprecyzuję?

So, can I clarify?

Tak, to jest pytanie pod tytułem, to zależy.

Yes, it's a question titled, it depends.

Jeżeli pracujesz na frontendzie, to na stówę używasz Noda w dzisiejszych czasach,

If you work on the frontend, you definitely use Node these days.

bo masz cały ekosystem narzędzi, które w sumie bazują na Javascriptie,

because you have a whole ecosystem of tools that are basically based on Javascript,

aczkolwiek już teraz nie tylko, ale to już jest bardzo, bardzo w kierunku przyszłości,

although already now not only, but this is already very, very towards the future,

a od kiedy?

And since when?

Ja myślę, że u mnie Node.js pojawił się mniej więcej w 2014 roku, 2013-2014.

I think Node.js appeared for me around 2014, 2013-2014.

Od tamtego czasu ja nie jestem backendowcem,

Since then, I am no longer a backend developer.

także ja go wykorzystywałem w dużej mierze jako narzędzia do budowania tej części frontendowej.

I also used it largely as a tool for building this part of the frontend.

Zdarzyło mi się popełnić kilka projektów typowo backendowych,

I have happened to complete a few purely backend projects.

ale tak, 2013-2014.

but yes, 2013-2014.

I on już był całkiem dobrze ugruntowany.

He was already quite well established.

Tak, on już wtedy parę razy był na rynku.

Yes, he had been to the market a few times by then.

Wydaje mi się, że u mnie to było podobnie, jak jestem w 2013, może 2014.

It seems to me that it was similar for me, like I am in 2013, maybe 2014.

I bynajmniej nie pisałem wtedy w Node.js backendów, wtedy głównie siedziałem w dotnetowych tematach,

I certainly wasn't writing backends in Node.js at that time; I was mainly focused on .NET topics.

ale używałem go do różnej maści automatyzacji, rzeczy typu Babel, Gulp i tak dalej.

But I used it for various types of automation, things like Babel, Gulp, and so on.

Oj, Gulp.

Oh, Gulp.

Czyli też byłeś hipsterem.

So you were a hipster too.

Tak, tak. Long time no see.

Yes, yes. Long time no see.

To zresztą wyjaśnię, dlaczego hipsterem, bo w czasach, kiedy Node.js wchodził jako narzędzia,

I will explain why as a hipster, because at the time when Node.js emerged as a tool,

to bardziej zagościła się świnia.

The pig has become more established.

Grant.

Grant.

Grant, tak.

Grant, yes.

Czyli grunt albo grant, generalnie narzędzie, które pozwalało nam automatyzować zadania i układać joby.

So, a ground or a grant, basically a tool that allowed us to automate tasks and organize jobs.

Tam było mnóstwo konfiguracji, także wszystko pisało się, programowaliście w JSON-ie.

There were a lot of configurations, so everything was written, you programmed in JSON.

Później takim powiewem świeżości wjechał Gulp, strumienie, pipe'y.

Later, Gulp arrived like a breath of fresh air, streams, pipes.

W 2013 roku bodajże, no.

In 2013, I believe, yes.

Także generalnie teraz jest to dość oczywiste, że używacie Noda do waszego developmentu aplikacji webowych.

So generally it is quite obvious now that you are using Node for your web application development.

Wtedy to nie było takie oczywiste, bynajmniej, tamte lat temu z 10.

Back then, it wasn't so obvious, by any means, about 10 years ago.

A sam Node.js...

And Node.js itself...

Warto z tym przejść do Origin'u, bo o tym chcemy dzisiaj pogadać.

It's worth discussing this with Origin, because that's what we want to talk about today.

Właśnie, chciałem nawiązać do tego, co wspomniałeś, bo wspomniałeś o tym, że zaczynałeś w dotnecie.

Exactly, I wanted to refer to what you mentioned, because you brought up that you started with .NET.

Tak.

Yes.

I ja siedziałem w tamtym czasie w PHP'ie.

I was also sitting in PHP at that time.

Tak.

Yes.

I jak zobaczyłem, co Node.js oferuje, o tym zaraz będziemy mówić, to w mojej głowie zaświeciła się taka lampka.

And when I saw what Node.js offers, which we will talk about shortly, a light bulb went on in my head.

Okej, JavaScript to jest przyszłość, tak, tutaj trzeba siedzieć, trzeba się tego uczyć, zaraz będzie...

Okay, JavaScript is the future, yes, we need to focus on this, we need to learn it, it's coming soon...

Widzisz, to ja byłem bardziej w obozie na zasadzie, Boże Święty, powaliło i do końca będę odpalać JavaScript na serwerze.

You see, I was more in the camp of, Holy God, this is overwhelming and I will keep running JavaScript on the server until the end.

Jezu Święty.

Holy Jesus.

Wiesz...

You know...

Byłem w PHP'ie, także dla mnie to wyglądało dużo bardziej atrakcyjnie niż dla Ciebie w dotnecie.

I was in PHP, so for me it looked much more attractive than for you in dotnet.

Tak, tak, tak.

Yes, yes, yes.

Ale chcieliśmy mówić o Origin'ie.

But we wanted to talk about Origin.

O Origin'ie, tak, czyli Origin sięga w sumie 2009 roku, czyli sama technologia ma 14 lat.

About Origin, yes, so Origin actually dates back to 2009, which means the technology itself is 14 years old.

Tak, ale kipiało to w głowie autora trochę wcześniej.

Yes, but it had been bubbling in the author's mind a bit earlier.

Opowiedz, ja chętnie opowiem od momentu prezentacji na JSConf'ie, to opowiedz, co się działo wcześniej, bo tutaj akurat nie sprawdziłem.

Tell me, I will gladly share from the moment of the presentation at JSConf, so tell me what happened earlier, because I didn't check that part here.

Tak, co się działo wcześniej.

Yes, what happened earlier.

Generalnie autor...

Generally, the author...

Tak.

Yes.

Ryan Dahl.

Ryan Dahl.

To jest generalnie człowiek, który stwierdził, OK, zrobimy sobie Noda.

This is generally a person who said, OK, let's make a Node.

Noda możecie go też znać z Deno, bo to jest też twórca Deno od 2018 roku, dość znana i wpływowała postać.

You might also know Noda from Deno, as he is also the creator of Deno since 2018, quite a well-known and influential figure.

O tym też będę miał dygresję, przypomnij mi.

I'll have a digression about that too, remind me.

Dobrze.

Alright.

Ale jeżeli chodzi o Ryana Dalla, to sytuacja wyglądała w taki sposób, że on nie jest z wykształcenia programistą.

But when it comes to Ryan Dalla, the situation was such that he is not a trained programmer.

On był matematykiem, chciał generalnie być profesorem matematyki, studiował na Uniwersytecie w San Diego.

He was a mathematician, he generally wanted to be a professor of mathematics, he studied at the University of San Diego.

Zaczął szukać czegoś, czego nie znał.

He began to search for something he did not know.

Czego może się utrzymać.

What it can hold on to.

Wylądował generalnie na studiach, miał chyba tysiąc dolarów w kieszeni, żeby generalnie przeżyć.

He generally landed in college, had about a thousand dollars in his pocket to generally get by.

Także szukał jakiegoś noclegu i tak dalej.

He was also looking for some accommodation and so on.

Próbował na początku uczyć angielskiego w jakąkolwiek repetycję, czy w szkole, czy coś takiego.

He tried at first to teach English in any tutoring, whether at school or something like that.

I w końcu poznał kolegę, który pisał stronki w PHP.

And finally, he met a friend who was writing websites in PHP.

No i dla niego w ogóle to była nowa idea, że będziemy budować stronki w PHP za pieniądze, no ale OK, da się żyć.

Well, for him it was completely a new idea that we would be building websites in PHP for money, but okay, we can manage.

Ale te strony były tak wolne i po prostu tak go to mierzwiło.

But those websites were so slow and it just irritated him so much.

Wiesz, matematyczny umysł, tutaj na pewno da się to zrobić lepiej.

You know, a mathematical mind can definitely do it better here.

No i zaczął analizować różne inne rozwiązania.

And he started analyzing various other solutions.

PHP, Rails, Python.

PHP, Rails, Python.

Właśnie mi się kojarzy, że on potem pracował jako deweloper używając Railsów.

I just remember that he later worked as a developer using Rails.

Dokładnie tak.

Exactly so.

Wymienił w trybie jak siekierkę na kijek.

He exchanged it in a way like a hatchet for a stick.

Trochę tak, ale też jakby wpadł w tą samą pułapkę, w którą wpadło bardzo wielu deweloperów.

A bit, yes, but also as if he fell into the same trap that very many developers have fallen into.

Na zasadzie, ole, piękna składnia, ale to wszystko jest takie zwięzłe.

On the principle of "wow, beautiful syntax, but it’s all so concise."

Oj, mogę zrobić wszystko, co mi się żywnie podoba.

Oh, I can do whatever I please.

Generalnie true na false, zamienić false na true, będzie fajnie.

Generally, change true to false, change false to true, it will be nice.

Mówisz o PHP teraz?

Are you talking about PHP now?

Czy o Railsach?

About Rails?

Tak.

Yes.

W Railsach mogłeś zrobić coś jeszcze, co mi się nie podobało.

In Rails, you could do something else that I didn't like.

Mógłeś dużo superatory przeciążać, praktycznie wszystko.

You could overload a lot of superators, practically everything.

Także sam język, samego rabiego on bardzo mocno zachwala w tych swoich dywagacjach.

He also highly praises the language itself and the rabbi in his musings.

Ale w pewnym momencie dochodzi do wniosku, ok, nie da się tego zrobić szybko,

But at some point, he concludes, okay, it's not possible to do this quickly,

bo Railsy bazują na bardzo mylnych założeniach

because Rails are based on very misleading assumptions

i od samego początku były skazane na porażkę, jeżeli chodzi o performance.

And from the very beginning, they were doomed to failure when it came to performance.

Będziemy o tym pewnie jeszcze gadać.

We will probably talk about it some more.

No i to jest to zaplecze, które się pojawiło, które jakby dało,

And this is the background that has emerged, which somehow provided,

było takim zarodkiem idei powstania Node.js

it was such a seed of the idea for the creation of Node.js

i wtedy pojawia się ta prezentacja z 2009 roku.

And then this presentation from 2009 appears.

Tak, czyli w 2009 roku, dokładnie w maju, tak jak wspomniałeś Michał przed nagraniem.

Yes, so in 2009, precisely in May, just as you mentioned, Michał, before the recording.

27 maja, dokładnie.

May 27th, exactly.

Dziękuję bardzo.

Thank you very much.

2009 rok, znamienna data.

The year 2009, a significant date.

Dziękuję bardzo.

Thank you very much.

Także odbywa się JSConf, na którym Ryan Dahl prezentuje jedną z pierwszych wersji Node.js,

JSConf is also taking place, where Ryan Dahl presents one of the first versions of Node.js.

a jest to dokładnie wersja, nawet sobie zapisałem, 0.1.2.

And this is exactly the version, I even wrote it down, 0.1.2.

0.1.17.

0.1.17.

Jeszcze bez wsparcia dla Windowsa.

Still without support for Windows.

Bez wsparcia dla Windowsa, tak.

No support for Windows, yes.

I opowiedz nam najpierw, jakie on widzi problemy ze współczesnym developmentem

And first tell us what problems he sees with contemporary development.

i właśnie powołuje się między innymi na Railsy

and it is precisely based, among others, on Rails

i głównie, to jest chyba clue tej pierwszej części prezentacji,

and mainly, this is probably the key point of the first part of the presentation,

zanim on przejdzie w ogóle do tego, co stworzył,

before he even gets to what he created,

gdzie mówi, że jest jeden duży problem, mianowicie blokowanie na operacjach I.O.,

where he says that there is one big problem, namely blocking on I.O. operations,

czyli na operacjach, na przykład na odczytach z dysku, na zapytaniach sieciowych,

that is, on operations, for example on disk reads, on network queries,

na zapytaniach do bazy danych i tak dalej.

on database queries and so on.

Wszelkie operacje, które muszą sięgnąć poza naszą aplikację

Any operations that must extend beyond our application.

i na które musimy poczekać.

and which we have to wait for.

No i to czekanie jest wybitnie nieefektywne.

Well, that waiting is exceptionally inefficient.

My sobie z tym długie lata radziliśmy w takim modelu,

We have been managing with this model for many years.

że odpalaliśmy wiele wątków.

that we started many threads.

Wiele wątków sobie świngało, niektóre sobie czytały do bazy i czekały.

Many threads were swinging, some were reading to the database and waiting.

W tym momencie inne robiły inną robotę.

At that moment, others were doing a different job.

Potem je sensualizowaliśmy.

Then we sensualized them.

Jeśli byliście w tym miejscu, to wiecie, jak to było super?

If you have been to this place, then you know how amazing it was?

Na papierze wyglądało fajnie, ale poza papierem to już był bardziej papier toaletowy.

On paper, it looked nice, but off paper, it was more like toilet paper.

Taki, słuchaj.

Alright, listen.

Weszło, dobrze.

It works, good.

Także bardzo mocno tutaj rajandal idzie w tym kierunku,

So here the rajandal is also strongly heading in this direction.

że to nie jest dobry model.

that it is not a good model.

A gdyby tak przejść z tego modelu blokowania IO

And what if we switch from this IO blocking model?

do modelu, w którym my nie oczekujemy na wykończenie operacji IO,

to the model where we do not wait for the completion of IO operations,

tylko mamy jednowątkowy proces

we only have a single-threaded process

i na tym jednym wątku robimy wszystko

And on this one thread, we do everything.

i przekazujemy komuś innemu ogarnianie IO.

and we are handing over the management of the IO to someone else.

My w tym czasie możemy wykonywać inne operacje.

During this time, we can perform other operations.

Jakbyśmy byli prezydentami, to nie tyle nie oczekujemy,

If we were presidents, we wouldn't expect so much,

tylko w sumie można oczekować,

only in total one can expect,

coś robić w międzyczasie.

do something in the meantime.

Nie blokujemy.

We do not block.

To jest tutaj słowo kluczowe.

This is the key word here.

No i zaczął badać, jak zachowuje się V8, czyli silnik.

And he started to investigate how the V8, that is, the engine, behaves.

Pałusemka, silniczek z Chroma.

Pałusemka, a little motor from Chrome.

Wtedy jeszcze w Chromie.

Back then still in Chrome.

Tak, silnik żabaskryptowy z Chroma, dokładnie.

Yes, the frogscripting engine from Chrome, exactly.

Podszedł do tego w ten sposób, że kurde, przeglądarki to już robią.

He approached it by saying, "Well, browsers already do that."

Praca przeglądarki jest przecież zajebiście, bardzo, w sensie bardzo asynchroniczna.

The work of the browser is, after all, incredibly, very, in the sense of very asynchronous.

My, będąc na stronie, widzimy statyczną stronę.

We, being on the page, see a static page.

Jak klikniemy coś, dopiero wtedy mamy obsługę tego zdarzenia.

Only when we click something do we have the handling of that event.

I cała reszta strony nie czeka, aż ta obsługa się zakończy,

And the rest of the page doesn't wait for this service to finish,

tylko może też równolegle działać.

it can also operate in parallel.

A w przeglądarce dzieje się w opór rzeczy,

And in the browser, a lot of things are happening.

bo mamy te sesje, które muszą być przeliczane yarda yarda.

because we have those sessions that need to be converted yards yards.

I stwierdził, no dobra, to weźmy sobie ten sam model, przenieśmy do backendu.

And he stated, well, okay, let's take the same model and move it to the backend.

I zagrało.

And it worked.

Tak, przy czym to, co możecie obejrzeć w tej prezentacji, to jest w sumie bardzo istotne.

Yes, what you can see in this presentation is actually very important.

Widziałeś ją też chyba.

You must have seen her too.

Widziałem tę prezentację.

I saw this presentation.

Słyszałem też wywiad z Ryanem Dallem a propos tego, jakie było zaplecze tej prezentacji.

I also heard an interview with Ryan Dall about the background of that presentation.

I jak bardzo on trzymał kciuki, żeby wszystko zadziałało.

And how much he was keeping his fingers crossed for everything to work out.

Bo miał wrażenie, że kompletnie nie przekazuje tego, co chciałby przekazać.

Because he had the impression that he completely wasn’t conveying what he wanted to convey.

Zresztą, jak porównacie sobie wystąpienia Ryana Dalla z tamtego czasu,

By the way, if you compare Ryan Dalla's speeches from that time,

z jego jednym z wystąpień na JSConf-ie, chyba w 2020 roku?

from one of his appearances at JSConf, probably in 2020?

Mówisz tym z Deno, to było 2018 albo 2019.

You’re talking about those from Deno, that was in 2018 or 2019.

Mówisz coś koło tego.

You're saying something along those lines.

To widać po prostu przepaść.

You can clearly see the gap.

Ja jak odpaliłem jedno nagranie, potem odpaliłem to drugie.

When I started one recording, then I started the second one.

To jest w sumie 10 lat różnicy.

That's a total of 10 years difference.

To widać po prostu raz, że to pewność siebie.

You can clearly see that it's confidence.

I dwa, że on już miał dużo lepiej w głowie poukładając, co to ma robić.

And two, that he already had a much better understanding in his head of what he was supposed to do.

I był przekonany co do tej idei.

And he was convinced about this idea.

Bo tam, co dostajemy na tej prezentacji.

Because what we get in this presentation.

Jak już kończy wywód o tym, że blokowanie IEO to nie jest dobry pomysł,

As he finishes his argument that blocking IEO is not a good idea,

to zaczyna mówić o tym, co on właściwie zbudował i co by chciał zbudować.

It begins to talk about what he has actually built and what he would like to build.

To znaczy mówi o tym, że Node tak naprawdę bardzo mocno osadza się

This means that Node is actually very strongly embedded.

o wykorzystaniu natywnych rzeczy.

about the use of native things.

O wykorzystaniu natywnych, budowanych rzeczy w systemy POSIX-owe,

On the use of native, built-in things in POSIX systems,

w systemy UNIX-owe.

in UNIX systems.

I żeby przekazać jak najwięcej odpowiedzialności do systemów.

And to transfer as much responsibility to the systems as possible.

I żeby oprzeć się o event loop.

And to lean on the event loop.

Czyli to, co znamy z przeglądarek, to co znamy z Node'a.

So what we know from browsers, that's what we know from Node.

Czyli jeśli mamy jakieś operacje, które oczekują na zakończenie,

So if we have some operations that are waiting to complete,

mamy te callbacki, odkładamy je sobie gdzieś na kolejkę

We have those callbacks, we set them aside somewhere for the queue.

i event loop się kręci.

And the event loop keeps spinning.

I po kolei sobie z nich zajmuje.

And I take them one by one.

Co ciekawe, a propos samego event loopa,

Interestingly, regarding the event loop itself,

w RABiM też są biblioteki, które pozwalają osiągnąć to samo,

In RABiM there are also libraries that allow you to achieve the same.

co daje Ci event loop.

What does the event loop give you?

I w Pythonie.

And in Python.

Tak, i w Pythonie też.

Yes, and in Python too.

Aczkolwiek to jest, że tak powiem, kropla w morzu.

However, this is, so to speak, a drop in the ocean.

Tych wszystkich narzędzi jest mnóstwo.

There are plenty of these tools.

I tak naprawdę ciężko w ogóle stwierdzić, jak powinno się bicać te aplikacje.

And it's really hard to determine how these applications should be built.

Wiesz, bo to jest awangarda generalnie.

You know, because this is generally avant-garde.

To była awangarda wtedy, ja bym powiedział.

It was avant-garde back then, I would say.

Po czym gdzieś pozwolisz, że wrócę do tego, co mówię na tej prezentacji?

After which you will allow that I return to what I am saying in this presentation?

Jasne, jasne.

Sure, sure.

Ja jestem o dygresji.

I am about digression.

To jest chyba najdłuższy fragment, który tutaj będę miał,

This is probably the longest passage that I will have here,

bo naprawdę interesujące było to, ta preska,

because it was really interesting, that pressure,

zwłaszcza z perspektywy 2023 roku.

especially from the perspective of the year 2023.

Fajne jest to, czym ona się kończy,

It's nice how it ends.

ale pewnie chcesz jeszcze coś wcześniej powiedzieć.

But you probably want to say something earlier.

Tak, ja chcę powiedzieć jeszcze wcześniej,

Yes, I want to say it even earlier,

bo on potem przechodzi już do tego,

because then he moves on to that,

jak napisać prosty program w Node'cie.

how to write a simple program in Node.

Pokazuje, jak napisać prosty serwer TCP,

It shows how to write a simple TCP server,

jak zrobić serwer HTTP,

how to create an HTTP server,

jak zareagować na eventy.

how to react to events.

No i wtedy,

And then,

jeśli znacie teraz, co byśmy mogli określić jako bebechy Node'a,

if you know now what we could define as the guts of Node,

to wiecie, jak się super w wygołym Node'ie pisze,

You know how great it is to write in a cozy Node.

czyli tworzymy serwer HTTP,

so we are creating an HTTP server,

nasłuchujemy na eventy,

we are listening for events,

operujemy na strumieniach.

we operate on streams.

I dokładnie to widzimy w tej prezentacji.

And we can see that exactly in this presentation.

Także nic, co byście mogli na pierwszy rzut oka wykorzystać do takiej biznesowej aplikacji.

So nothing that you could use at first glance for such a business application.

Bo ktoś pisze koszmarnie ciężko.

Because someone writes terribly hard.

Tak, bo to jest mimo wszystko bardzo low levelowe.

Yes, because it is very low-level after all.

To jest super low levelowe.

This is super low level.

To było też coś w sumie,

It was also something in a way.

nie wiem, czy w Pythonie też tak to wygląda,

I don't know if it looks the same in Python.

ale jak budujesz sobie aplikację serwerową,

but when you build your server application,

to musisz mieć jakiegoś NGINX'a,

You must have some kind of NGINX.

czy NGINX'a,

whether NGINX,

czy jakikolwiek to zwał,

whatever you call it,

czy Apache'a, czy cokolwiek innego.

whether Apache or anything else.

A tutaj piszesz serwer.

And here you write the server.

Tutaj generalnie jest bardzo blisko metalu.

Here it is generally very close to metal.

Tak.

Yes.

I to, co wspomniałeś a propos

And that which you mentioned regarding

zalajnowania się Node'a

node's onboarding

z tymi wszystkimi post-X'owymi tematami,

with all these post-X topics,

to widzimy też w nazwach metod.

We can also see this in the names of the methods.

Generalnie to, co znajdziemy w dokumentacji, całe API,

Generally, what we find in the documentation, the entire API,

nazewnictwo było wzorowane na tym,

the naming was modeled after this,

co rzeczywiście dzieje się pod bebechami,

what is really happening inside the guts,

znaczy w bebechach w systemie operacyjnym.

it means in the guts of the operating system.

On też tam w którymś momencie mówi,

He also says at some point there,

że on chce, żeby to API Node'owe

that he wants it to be a Node API

było jak najbardziej bliskie

it was as close as possible

API przeglądarkowemu.

Browser API.

Wyszło jak wyszło, bo Node

It turned out as it did because of Node.

popłynął w jakieś takie swoje rejony

he drifted into his own realms

i bynajmniej się nie trzymał standardu

and by no means did he stick to the standard

przez długi czas.

for a long time.

To się zmieniło ostatnio,

That has changed recently,

ale zabawnie się to ogląda z takiej perspektywy,

but it's funny to watch it from such a perspective,

że no fajnie, miało tak być,

that it's nice, it was meant to be like this,

ale trochę nie pykło.

But it didn't quite work out.

Tak, swoją drogą Node świętuje ile? 14 lat w tym roku?

Yes, by the way, how many years has Node been celebrating? 14 years this year?

14 lat.

14 years.

To była prezentacja z JSConf'a,

It was a presentation from JSConf.

ta z 2019 roku, jeżeli już pamiętam.

That one from 2019, if I remember correctly.

No, ta od Deno?

No, the one from Deno?

Ta od Deno, właśnie.

That one from Deno, exactly.

Tak, to była jedna z prezentacji,

Yes, that was one of the presentations.

gdzie on w sumie przyznawał się do swoich błędów,

where he basically admitted to his mistakes,

ale mówi, no sorry, nie da się tego już odwrócić.

but he says, well sorry, there's no way to undo it now.

Są pewne rzeczy, których żałuję,

There are certain things I regret,

na przykład to, że mamy global, a nie Windows w Node'cie.

For example, that we have global, not Windows in Node.

Są pewne nieścisłości i tak dalej.

There are some inconsistencies and so on.

Ale w ogólności ten projekt jest dosyć

But in general, this project is quite

successful, bym tak powiedział.

successful, I would say so.

Jest dosyć successful, tak.

It is quite successful, yes.

I ja tu się jeszcze odwołam do tego,

And I will also refer to this here,

jak bardzo niskopoziomowy jest

how low-level it is

Node sam w sobie, a zwłaszcza

Node itself, especially

wtedy w tych pierwszych

then in those first

dniach. On

days. He

pokazuje

shows

slajd, gdzie mówisz, no właściwie

slide, where you say, well actually

cały codebase Node'a to jest C,

the entire Node codebase is C,

jakieś tam parę tysięcy linii

a few thousand lines or so

w C, plus jest zależność na

in C, there is a dependency on

Pythona, co mnie dość

Python, which is enough for me.

zaskoczyło, plus jest już wtedy

It was surprising, plus it is already then.

zembedowany V8

embedded V8

w źródło, znaczy w źródło,

in the source, means in the source,

w DLL-kę,

to the DLL,

którą dostajesz, a w sumie

which you receive, and in total

technicznie, teraz mogę tutaj gadać głupotę,

technically, now I can talk nonsense here,

nie wiem, co w sumie dostawaliśmy,

I don't know what we actually received.

tak naprawdę.

actually.

Już tam był zembedowany V8.

There was already a V8 embedded there.

Całe środowisko Node'owe

The entire Node environment

było w sumie złożone, jeżeli dobrze pamiętam,

it was quite complex, if I remember correctly,

na początku z sześciu modułów.

Initially with six modules.

Mieliśmy V8-kę,

We had a V8.

mieliśmy rzeczy związane z

we had things related to

odczytem z dysku,

reading from the disk,

nie pamiętam jak się nazywały, tam były dwie

I don't remember what they were called, there were two of them.

lipki, które były napisane nawet nie przez

lips that were written not even by

Ryan Dalla, tylko kogoś innego,

Ryan Dalla, just someone else,

już nie pamiętam nazwiska. Była

I don't remember the last name anymore. She was

lipka do DNS-ów? Lipka do DNS-ów

"Do you want to complain about the DNSs? Do you want to complain about the DNSs?"

wydaje mi się, że on pisał oraz on

I think that he wrote and he.

pisał parser HTTP. On pisał parser

He wrote an HTTP parser. He wrote a parser.

HTTP, on pisał chyba

HTTP, he probably wrote.

coś do obsługi soketów,

something for socket handling,

DNS-y były chyba z zewnątrz i rzeczywiście

The DNSs were probably external and indeed.

jeszcze były jakieś dwie lipki, takie bardzo core'owe, które

there were also about two linden trees, very core-like, that

były, był

was, used to be

lip uv i coś jeszcze.

lip uv and something else.

I coś jeszcze, jakiś lip.

And something else, some sort of a trick.

W każdym razie, co jest ciekawe tutaj,

In any case, what is interesting here,

to, że

that which

tego nie było dużo, to były w ogóle

there wasn't much of it, there were actually none at all

bardzo małe API i teraz jak spojrzymy na to,

very small API and now as we look at it,

co mamy dostępne w Node'ie. Jakie ono

what do we have available in Node? What is it like?

w ogóle było dziwne. Zwróćcie się w ogóle uwagę,

It was strange at all. Pay attention at all,

że on tam w którymś momencie mówi, że no i to

that at some point he says there, well, and that

zwraca promisa. Po czym ten promis

It returns the promise. After which this promise.

to nie... Ja się właśnie zastanawiam, czy wtedy ludzie wiedzieli, co to jest

No... I'm just wondering if people knew what it was back then.

promis. Właśnie,

promise. Exactly,

ej, czekaj, uwaga, muszę to

Hey, wait, watch out, I need this.

zgooglować. Dobra, to se googlaj,

to google it. Alright, go ahead and google it.

ale to wrócimy za chwilę do tematu promisa,

but we will return to the topic of the promissory note in a moment,

ale co jeszcze, bo nie

but what else, because not

wspomniałeś, czym się kończy ta prezentacja.

You mentioned how this presentation ends.

Wspomnieliśmy o websocketach i tak dalej. No. Bo na

We mentioned websockets and so on. Well. Because on

samym końcu tej prezentacji

at the very end of this presentation

tworzy, znaczy uruchamia, pokazuje

creates, means activates, shows

działający serwer

operational server

IRCA. Tak.

IRCA. Yes.

IRCA. Jeżeli nie wiecie, co

IRCA. If you don't know what

to jest IRCA, to taki komunikator internetowy.

This is IRCA, it's an internet communicator.

To w sumie chyba moje złote hasło też

So I guess it's also my golden motto.

z ostatnich rolek na YouTube.

from the latest reels on YouTube.

Ale jeżeli

But if

chodzi o ten serwer, to co on tam pokazał,

It's about that server, what he showed there.

to było tak, działające demo,

it was like that, a working demo,

nie wywaliło się. Tak. Ludzie

It didn't crash. Yes. People.

na sali byli w stanie się połączyć do tego

In the hall, they were able to connect to that.

IRCA w locie, także on

IRCA in flight, also him.

mówi, a tam pojawiają się jakieś wiadomości

he speaks, and there are some messages appearing

na ekranie już od razu. Mhm.

On the screen right away. Mhm.

I co więcej, on wtedy odpalił

And what's more, he then exploded.

REPLA i z poziomu REPLA

REPLA and from the level of REPLA

był w stanie zarządzać tym serwerem i

he was able to manage this server and

generalnie wszystko działało po prostu

Basically, everything just worked.

z bomby.

from a bomb.

Na tamte czasy, totalnie nowa technologia,

For those times, completely new technology,

totalnie nowe narzędzie i masz

totally new tool and you have

działające demo, wypadło lepiej niż Microsoft

The working demo turned out better than Microsoft.

na niektórych prezentacjach. Mhm.

on some presentations. Mhm.

Nie, to mu trzeba oddać. A, sprawdziłem.

No, he needs to give it back. Oh, I checked.

Bo tam w tej presji

Because there in that pressure

jak on używa

how he uses

tych modułów, czy to pliku między innymi,

these modules, or the file among others,

albo modułów

or modules

za pomocą których może tworzyć nowy

with which it can create new

proces, podproces, może wywoływać

process, subprocess, may invoke

różne

various

programy systemowe, jak nie wiem, kata tam

system programs, like I don't know, cat there

wywołuje. Tak, było kata i

It evokes. Yes, it was the executioner and

nie, chyba kata.

No, it's probably a hangman.

Kata, chyba LSA,

Kata, probably LSA,

ale jakieś takie standardowe. Coś tam było jeszcze.

but something standard like that. There was something else too.

Unixowe programy.

Unix programs.

I on, one zwracały

And we, one was calling.

promis. Znaczy mówię, o,

promise. I mean, I say, oh,

jaki promis w ogóle.

What promise at all.

Note, że jest to callback hell i

Note that this is callback hell and

jedziemy z callbackami, tak było w przeglądarce.

We're going with callbacks, that's how it was in the browser.

Skąd się wzięły promisy? To jest raz.

Where did the promises come from? That's one.

A dwa, ten promis miał jakieś metody typu

And two, this promise had some methods like

exec i tak dalej. Aaa.

exec and so on. Aaa.

Który standard? Pamiętasz?

Which standard? Do you remember?

Już nie pamiętam. Nie, właśnie

I don't remember anymore. No, actually.

i teraz właśnie zgooglowałem jedną rzecz,

And now I just googled one thing,

kiedy weszły promisy? No, promisy weszły do

When did the promissory notes come in? Well, the promissory notes came into...

specyfikacji w 2015 roku.

specification in 2015.

Także, wiadomo, dość późno, czyli

So, you know, quite late, that is

zakładam, że 2012, 2013

I assume, 2012, 2013.

mogły gdzieś się dopiero zacząć kręcić

They might have just started to spin somewhere.

jako propouzale, czyli on po prostu

as proposed, that is he simply

użył tej samej nazwy,

used the same name,

bo to faktycznie był, był jakiś

because it was really, there was something

promis, tak, że to potem się wykona,

Promise, yes, that it will be done later.

będziesz mógł potem na tym jakoś operować.

You will be able to operate on it somehow later.

Także raczej koncepcyjnie

So rather conceptually.

to sobie nazwał promisem, nie był to bynajmniej

he called himself a promise, it was by no means

ten promis, który my znamy,

the promise that we know,

ale oglądając to wideo

but watching this video

teraz, miałem duży mindfuck,

now, I had a big mindfuck,

jaki promis, panie?

What promise, sir?

O co tu chodzi?

What's this about?

Tam jeszcze pojawia się temat

There is also the topic appearing there.

w ogóle buforowania danych

about data buffering

przy odczycie. Coś, co

at the reading. Something that

też on uznał, że załatwi

he also agreed that he would handle it

za użytkowników, żebyśmy już nie musieli schodzić

for the users, so that we no longer have to go down

za bardzo niskopoziomowo.

too low-level.

Co ciekawe, te strumienie w Node'zie mają

Interestingly, these streams in Node have

bardzo ciekawą

very interesting

właściwość, bo jeżeli spróbujesz zestreamować

property, because if you try to stream

bardzo duży plik,

very large file,

bufor się nie przepełni,

the buffer will not overflow,

po prostu w pewnym momencie przestanie być

it will simply stop being at some point

zapełniany. I masz

filled. And you have

specjalne zdarzenie, które

special event that

pozwala ci obsłużyć drain,

allows you to handle the drain,

czyli jak ten bufor zostanie już skonsumowany,

so once that buffer has been consumed,

to wtedy te dane znowu lądują

then the data lands again

w tym miejscu. Bo tutaj

in this place. Because here

warto jeszcze przytoczyć tą rzecz,

It is worth mentioning this thing,

że Node od samego początku

that Node from the very beginning

jest bardzo mocno eventowym

is very event-driven

środowiskiem

environment

i bardzo mocno bazuje na strumieniach.

and is heavily based on streams.

Goły Node to praktycznie są

A bare Node is practically what it is.

eventy, na które się możecie rejestrować

events you can register for

i strumienie. On powiedział ciekawą rzecz,

and streams. He said something interesting,

że większość

that most

rozwiązań, które zna, były

solutions that he knows were

bardzo opinionalne na temat tego,

very opinionated about this,

czy buforować, czy nie. I z reguły było

whether to buffer or not. And usually it was

to buforować.

to buffer.

I tyle. A on powiedział, że

That's all. And he said that

woli, aby użytkownicy sobie to wybrali

prefers that users choose it for themselves

i żeby raczej by default

and rather by default

podejściem było, nie

The approach was, no.

buforujemy, tylko po prostu wysyłamy dalej, czyli

we buffer, we just forward it, which means

strumieniujemy rzeczy. I do tego

we stream things. And to that

Node się dzisiaj dalej dobrze sprawdza.

Node is still performing well today.

Do raczej strumieniowania

To rather streaming.

danych, niekoniecznie do ich buforowania.

data, not necessarily for buffering them.

Tak, ale nie nadaje się dalej do

Yes, but it is not suitable for further use.

przetwarzania dużych rzeczy szybko.

processing large things quickly.

Czyli jak masz jakieś

So if you have some

kalkulacje do zrobienia w obrębie

calculations to be made within

samego procesu, to nie.

the same process, no.

Aczkolwiek są rozwiązania, które pozwalają

However, there are solutions that allow.

Ci budować klastry Node'owe.

They are building Node clusters.

Ale to i tak jest zaprzęganie do

But this is still being harnessed to

ciężkiej roboty narzędzia, które

heavy-duty tools that

nie będzie wystarczająco wydajne, żeby to ogarnąć.

it will not be efficient enough to handle it.

Ja wrzucę jedną rzecz, która...

I'll throw in one thing that...

A wiem!

Oh, I know!

Już wtedy padło pytanie,

At that moment, the question was raised,

czy to środowisko się przeładowuje, jak zmienisz pliki?

Does this environment reload when you change the files?

Wersja 0.1

Version 0.1

coś tam, nie? Nie przeładowuje się.

Something there, right? It doesn't overload.

Ale chcemy to... Przez weekend będziemy

But we want to... We will be there over the weekend.

hakować, spróbujemy to zrobić. Szacun.

hacking, we will try to do it. Respect.

Nie, nie.

No, no.

To chyba

That’s probably it.

bardzo późno weszło takie

it came in very late

natywne przeładowywanie. Dosyć późno, no.

native reloading. Quite late, huh.

To nie był weekend.

It wasn't the weekend.

Nodeemon tam generalnie był królem przez długi czas.

Nodeemon was generally the king there for a long time.

A co ja chciałem powiedzieć, to co mnie

What I wanted to say is what affects me.

nie że zdziwiło, ale

not that it surprised me, but

nie wiedziałem o tym, że command.js

I didn't know about that, that command.js.

był już od dnia zero wspierany

he had been supported since day zero

i był właściwie głównym standardem

and was actually the main standard

oddawania modułów. To było takie...

returning modules. It was so...

Uuu, tak, o, okej. No bo Ty na froncie siedzisz

Ooh, yes, oh, okay. Well, because you’re on the front line.

od niedawna, jakby nie patrzeć.

Recently, no matter how you look at it.

W porównaniu tak.

In comparison, yes.

Dopiero jakieś 10 lat, tak?

Only about 10 years, right?

Bo ja zanim w ogóle zacząłem...

Because before I even started...

W sumie to jest ciekawe, bo

Overall, it's interesting because

w tamtym czasie

at that time

na froncie był popularny AMD.

On the front, AMD was popular.

W tamtym czasie, czyli odwołujesz się do...

At that time, you are referring to...

2023 mniej więcej.

2023 approximately.

Także w momencie, kiedy startował...

Also at the moment when he started...

2023? 2013.

2023? 2013.

Tak. Okej. Nie, to my tu mówimy

Yes. Okay. No, we are talking here.

o 2009. Tak, w 2009

in 2009. Yes, in 2009

był tylko command.js. Później

there was only command.js. Later

AMD zaczęło być coraz bardziej popularne,

AMD started to become increasingly popular,

pozwalało nam na modularyzację. To ja byłem

it allowed us to modularize. It was me

zawsze fanem command.js.

always a fan of command.js.

By heart. Tak, tak.

By heart. Yes, yes.

AMD nie. Słusznie, słusznie.

AMD no. Right, right.

System.js, AMD. Ej, o tym możemy

System.js, AMD. Hey, we can talk about that.

kiedyś pogadać. To jest dobry temat,

We should talk sometime. It's a good topic.

ale to not today. W sumie można, tak.

But not today. Well, it can be done, yes.

Tematyka modułów w javascriptie.

The topic of modules in JavaScript.

Historia jest

History is

bogata. Ale

rich. But

jeżeli chodzi o command.js, no wtedy nie miałeś

As for command.js, well then you didn't have it.

innego wyboru. To było jedyne rozwiązanie,

another choice. It was the only solution,

które już było prawie, że

which was almost that

de facto standardem, jeżeli

de facto standard, if

chodzi o modularyzację. I teraz

It's about modularization. And now

w sumie zastanawiam się, bo to było...

I’m actually wondering, because it was…

Jak oni to ogarniali w przeglądarce wtedy?

How did they handle it in the browser back then?

Bo command.js

Because command.js

był już wtedy.

he was already there.

Zanim Node się pojawił.

Before Node appeared.

No tak, tak. Oni już używali

Well, yes. They have already used it.

zmieniającego standardu. Czyli to było zapożyczone.

changing the standard. So it was borrowed.

On nie był wspierany na tym przeglądarce,

He was not supported on this browser.

gdyż to było wszystko polifilowane.

because it was all polyfilled.

Polifilowane.

Polished.

To złe słowo, ale...

It's a bad word, but...

Ja sobie próbuję przypomnieć, bo teraz tak.

I'm trying to remember, because right now, that's how it is.

Było polifilowane. Ale był require, który

It was polyfilled. But there was a requirement that

po prostu był funkcją zarejestrowaną globalnie.

it was simply a globally registered function.

No tak. I co ona robiła?

Well, and what was she doing?

...

Please provide the text you would like translated from Polish to English.

Nie było Noda, żeby to zbudować, skompilować

There was no Node to build and compile it.

to do jednego ty, bez kitu.

It's just you for this, no kidding.

Trzeba było ponurkować. Jak się programowało, jak nie było

One had to dive. How it was programmed, how it wasn't.

Node.js? No, no.

Node.js? No, no.

Ciężko.

Hard.

Ale to trochę schodząc już z

But that’s a bit going down from

tej prezentacji

this presentation

inicjalnej, z

initial, with

2009 roku, to

in the year 2009, it is

powiedzmy o tym,

let's talk about it,

co się wydarzyło później. Bo potem

what happened later. Because then

poszło

it went

z górki.

downhill.

Bo w 2010

Because in 2010

powstał Express.js,

Express.js was created,

który był chyba pierwszym

which was probably the first

frameworkiem, pierwszą biblioteką,

framework, the first library,

która opakowywała

which was packaging

ten cały super low-levelowy

this whole super low-level

kod Noda i pozwalała

Noda code and allowed

nam zbudować serwer webowy, który

to build a web server for us that

miał routing,

he had routing,

który miał endpoint, który można było wygodnie obsłużyć

which had an endpoint that could be easily handled

i tak dalej. I to już się wydarzyło

and so on. And it has already happened.

rok później. Także dość

A year later. Quite so.

szybko. Też

quickly. Me too

względnie szybko

relatively quickly

powstały takie rzeczy jak NPM.

Such things as NPM have emerged.

Bo NPM powstał w 2010 roku też.

Because NPM was also created in 2010.

Także...

So...

NPM, tutaj powiedzmy

NPM, let's say here.

na głos, manager pakietów

out loud, package manager

do Noda.

to Noda.

I on też bardzo mocno, wydaje mi się, że kopnął

And I think he kicked very hard as well.

samego Noda do przodu. Express

Noda himself forward. Express.

kopnął go do przodu. I zaczęły też powstawać

he kicked him forward. And they also began to arise

szybko. Ja sobie tylko

quickly. I'm just

sprawdzę kiedy.

I'll check when.

Zostały też... Sorry.

There are also... Sorry.

Zaczęły też szybko powstawać różne

Various things also started to emerge quickly.

narzędzia deweloperskie, których

developer tools, which

my używamy na froncie do

we use on the front to

budowania aplikacji i tak dalej. Bo

building applications and so on. Because

Webpack to jest 2012.

Webpack is from 2012.

Proszę Państwa.

Ladies and gentlemen.

To jest 2013.

This is 2013.

Gulp 2013.

Gulp 2013.

To są narzędzia,

These are tools,

z których sobie nie wyobrażamy już teraz.

that we can no longer imagine now.

Bądź bez ich odpowiedników

Be without their equivalents.

szybszych

faster

nie wyobrażamy sobie już teraz developmentu.

We can't imagine development right now.

To jednak dość szybko powstało biorąc pod

However, it was created quite quickly considering...

uwagę to, że Node tam wersja

Note that there is a version of Node there.

0.1.17 to był

0.1.17 it was

2009 rok. Kawał czasu temu. Szybko poszło.

2009. A while ago. It went by quickly.

Tak. Szybko poszło. Kawał czasu temu.

Yes. It went quickly. A while ago.

Ale faktycznie był taki moment, gdzie

But there was indeed a moment when

ludzie się śmiali, że nie ma dnia

People laughed that there isn't a day.

bez nowego narzędzia JavaScript'owego,

without a new JavaScript tool,

który się pojawia. Nowego frameworka.

which appears. New framework.

Nie śmiało się już tak?

Aren't you laughing like that anymore?

Powiedzmy, że to trochę przystopowało.

Let's say it has slowed down a bit.

Dokopałem się do historii

I dug up a story.

CommonJS'a i AMD.

CommonJS and AMD.

AMD było przed CommonJS'em.

AMD predates CommonJS.

CommonJS...

CommonJS...

Nie będzie tego słuchać.

She won't listen to this.

CommonJS

CommonJS

powstał, żeby zaadresować

was created to address

problem związany z...

problem related to...

Czy w ogóle wiesz w jakim roku

Do you even know what year it is?

powstał CommonJS? No, dawaj.

Did CommonJS arise? No, come on.

99. W styczniu. Co? Uuu!

99. In January. What? Uuu!

No, dlatego mnie to zaczęło

No, that's why it started for me.

intrygować.

to intrigue.

To jest w ogóle projekt wystartowany przez Mozilla. Ciekawe.

This is a project launched by Mozilla. Interesting.

Na początku nazywał się ServerJS.

At first, it was called ServerJS.

I przemianowali go bardzo szybko na CommonJS,

And they renamed it very quickly to CommonJS,

żeby ustabilizować... Domana była zajęta?

To stabilize... Was Domana busy?

Taki package na...

Such a package for...

A nie, NPM-a nie było.

Oh no, there was no NPM.

To już ludzie wtedy nie grali w NPM Bingo.

People didn't play NPM Bingo then.

Jak oni pili?

How did they drink?

Nie było drinking games?

Were there no drinking games?

Jeszcze dokopię się do AMD,

I will still get to AMD.

ale przerwałem ci.

But I interrupted you.

Ciężki temat.

A heavy topic.

O czym mówiłem?

What was I talking about?

Mówiłem o narzędziach, które się szybko pojawiały.

I was talking about the tools that appeared quickly.

Także ten Express Webpack da rada.

This Express Webpack can handle it too.

To szybko poszło.

That went quickly.

Ale też to, co bardzo mocno kopnęło

But also what kicked very hard.

Node'a do przodu, to to, że

The node going forward means that

w 2011

in 2011

Linkedin przepisywał swoją aplikację

LinkedIn was rewriting its application.

mobilną i

mobile and

przepisali bardzo mocno front.

They rewrote the front very strongly.

I tam używali HTML5.

And they used HTML5 there.

Cool and Sexy Things.

Cool and Sexy Things.

Bugbona. Bugbona i underscora.

Bugbona. Bugbona and underscore.

Także same Cool and Sexy Things

Also, the Cool and Sexy Things.

w 2011 roku.

in 2011.

I cały backend, który ogarniał

And the entire backend that he managed.

tą apkę

this app

mobilną, był napisany

mobile, was written

w Node'zie.

in Node.

I

I

czytałem, czytałem

I read, I read.

jak to się w ogóle przyjęło i jakie mieli

how it was generally accepted and what they had

porównanie

comparison

z poprzednią technologią. Nie pamiętam, co tam było wcześniej.

with the previous technology. I don't remember what was there before.

I mówili, że idealnie

And they said it was perfect.

do ich case'u się sprawdził Node.

Node worked in their case.

Bo oni tam serwowali dużą ilość treści.

Because they served a large amount of content there.

Nic nie przeliczali.

They didn't recalculate anything.

Wyłącznie strumynowali dane

They exclusively streamed the data.

do tych app'ek klienckich.

to those client apps.

Mobilnych.

Mobile.

Do tego Node im idealnie pyknął.

This Node fits perfectly for that.

Niekoniecznie do innych rzeczy.

Not necessarily to other things.

Na przykład jakieś procesory, które

For example, some processors that

wyliczały scoring

they calculated the scoring

i tak dalej.

and so on.

Kijem tego nie ruszali, to zostało na innym stacku.

They didn't touch it with a stick, it was left on another stack.

Ale do takiego serwowania danych

But for such data serving

Node był idealny.

The node was perfect.

I zresztą Ariandal,

And besides, Ariandal,

tutaj ponownie wrócę do tej pierwszej preski,

I will return again to this first presentation.

on się bardzo często powoływał

he referred to it very often

na przykład pod tytułem

for example under the title

commenting app, coś takiego.

commenting app, something like that.

Czyli chodziło mu o takie systemy

So he was talking about such systems.

ala IRC, gdzie

ala IRC, where

masz duży ruch,

you have a lot of traffic,

który spływa naraz

which flows at once

i ty jedyne co robisz

and the only thing you do

to dispatchujesz te eventy

Are you dispatching these events?

i rozsyłasz je dalej. Czyli generalnie Node umywa ręce,

and you pass them on. So basically Node washes its hands of it,

wszystko przekierowuje. Dokładnie.

Everything is being redirected. Exactly.

Not my job.

Not my job.

Odbija dalej rzeczy.

It reflects things further.

Podobnie właśnie było z tym LinkedIn'em. Oni głównie

It was similar with LinkedIn. They mainly

streamowali dane, niekoniecznie

they streamed data, not necessarily

tylko się obrabiali i to im dobrze pykło.

They were just getting the hang of it, and it worked out well for them.

Też

Me too

Trello

Trello

szybko wskoczyło na ten wagon

it quickly jumped onto that train car

z Node'em. Nie powiem Ci w którym roku,

with Node. I won't tell you in which year,

bo tego nie mam w notce, ale

because I don't have this in the note, but

Trello był też jednym z takich serwisów,

Trello was also one of those services,

który szybko wskoczył.

who quickly jumped in.

Trello? Trello. To Trello?

Trello? Trello. Is it Trello?

To Trello, no.

To Trello, no.

Które wtedy jeszcze nie było atlasjanowe.

Which at that time was not yet atlasian.

To tam było lata później.

It was there years later.

Atlasjan kupił Trello.

Atlassian bought Trello.

Trello, Frog, Frog, Frog.

Trello, Frog, Frog, Frog.

Coś tam Frog. Fox Creek.

Something there, Frog. Fox Creek.

Fox Creek chyba.

Fox Creek, I think.

Tak, tam gdzie był Joel z Polski.

Yes, where Joel was from Poland.

Tak jest. Który nie jest z Polski.

That's right. Which is not from Poland.

Tak.

Yes.

Ten sam, ten sam.

The same, the same.

Tak, to to ich kopnęło. No i Walmart.

Yes, that hit them. And Walmart.

Walmart miał w ogóle successful case,

Walmart had a successful case at all.

który był już chyba na

which was probably already at

HappyJS, bo HappyJS to jest też jeden z takich bardzo

HappyJS, because HappyJS is also one of those very

wczesnych frameworków. Zaraz Ci powiem

early frameworks. I'll tell you right away.

w którym roku w ogóle HappyJS powstał.

In which year was HappyJS created?

No chwilę po Expressie.

Just a moment after the Express.

2011.

2011.

Także też bardzo szybko.

Also very quickly.

Czy poczekaj? Po.

Will you wait? After.

Express 2.10, Happy 2.11.

Express 2.10, Happy 2.11.

No i Happy był też jednym z takich

Well, Happy was also one of those.

dość early adapterów.

enough early adopters.

Takich wcześniejszych frameworków.

Such earlier frameworks.

I właśnie Walmart miał mega case, gdzie oni

And Walmart had a huge case where they

obsłużyli ruch

they handled the traffic

podczas Black Friday.

during Black Friday.

Mając właśnie z tyłu Happy

Having Happy right behind.

oparte o Node.js.

based on Node.js.

I to też w ogóle poszło bardzo szeroką

And it also went very wide at all.

falą, no bo jednak

"wave, well after all"

Walmart, Big Sheet, Black Friday,

Walmart, Big Sheet, Black Friday

Big Sheet i to pychnęło.

Big Sheet and it pushed me.

Ja pamiętam, że

I remember that

z takich frameworków, które się potem pojawiły,

from such frameworks that later appeared,

bo Express się rozwijał, wszystko ładnie, pięknie,

because Express was developing, everything nicely, beautifully,

ale pojawiły się nowe narzędzia w ogóle w Node.js.

But new tools have appeared in Node.js in general.

Przepraszam, przepraszam,

I'm sorry, I'm sorry,

przepraszam, muszę to powiedzieć.

I'm sorry, I have to say this.

Socket.io.

Socket.io.

2010 rok również.

The year 2010 as well.

Czyli już nie trzeba było pisać websocketów w palce.

So there was no need to write web sockets by hand anymore.

I to był też 2010 rok, także...

And that was also the year 2010, so...

Tak, to był

Yes, it was.

początek w sumie tego developmentu,

the beginning of this development,

który teraz mamy. Bo od tamtego czasu

which we have now. Because since that time

niewiele się zmieniło, aczkolwiek

not much has changed, although

JavaScriptowe środowisko dostawało

The JavaScript environment was receiving.

kilka rarytasów.

a few rarities.

Klasy się pojawiały. Tak.

Classes were appearing. Yes.

Ale co się pojawiło ciekawego w Node.js?

But what interesting has appeared in Node.js?

Coś, co pozwoliło zareagować na

Something that allowed to respond to

callback hell, który stał się problemem

callback hell, which became a problem

od samego początku, jako że promisy nie istniały.

from the very beginning, as the promises did not exist.

Tak, tak.

Yes, yes.

Nie powiedzieliśmy tego głośno, ale oczywiście

We didn't say it out loud, but of course.

jako, że nie reagujesz od razu

since you don't respond right away

na zdarzenie, no to wrzucasz

for the event, well then you just throw it in

tam callback. Dokładnie.

There is a callback. Exactly.

A aby zareagować na callback, callbackiem

And to react to a callback, with a callback.

wrzucasz inny callback. Dokładnie tak.

You're putting in another callback. Exactly like that.

I idziemy pijem na wideo. Także ten callback

And we go to drink on video. Also that callback.

callbacka poganiał.

the callback was urging.

I coś, co trochę

And something that a little

uporządkowało sytuację

sorted out the situation

na rynku Node.jsowym,

in the Node.js market,

były generatory.

there were generators.

Ale to jest...

But this is...

Tak, generatory

Yes, generators.

versus promisy. Tu można by o tym...

versus promises. One could talk about it here...

A ty mówisz o tych generatorach?

Are you talking about those generators?

Ja mówię o tych gwiazdach. A, nie, to ja myślałem,

I'm talking about those stars. Oh, no, I thought it was me,

że mówisz o Jaumanie i tak dalej.

that you're talking about Jauman and so on.

O tym też pogadamy, nie? Ale generalnie

We'll talk about that too, right? But in general...

to coś... Jak już pojechałeś w temat...

It's something... Since you've already delved into the topic...

Nie wyjdziemy stąd dzisiaj. Pewnie nie.

We won't get out of here today. Probably not.

Ale jak już zacząłeś temat

But since you've already started the topic

z frameworków, to w mojej głowie się klaruje

from the frameworks, it's becoming clear in my mind

taki timeline, gdzie

a timeline like this, where

mieliśmy Expressa, było HAPI i

we had an Express, there was HAPI and

zaczęły się

they have begun

problemy w kontekście tego, że

problems in the context of the fact that

okej, ten kod wyglądał dziwnie

Okay, this code looked strange.

i w sumie brakuje nam pewnych możliwości.

And in fact, we are lacking certain opportunities.

I pojawiła się idea właśnie funkcji

And the idea of the function emerged.

generatorów. Koa korzysta z ko.

generators. Koa uses ko.

Tak,

Yes,

nazewnictwo w tym... Aby było prościej. Tak, żeby było

naming in this... To make it simpler. So that it is

prościej. To było związane

Simpler. It was related.

z korutynami, coś takiego. Ko... Ancestor?

with routines, something like that. Co... Ancestor?

Nie wiem. Dobra, szyję teraz.

I don't know. Alright, I'm sewing now.

Dobijam się. Nie wiem, ale chodziło

I'm trying to reach you. I don't know, but it was about...

o to, że mogłeś...

about the fact that you could...

Generalnie powstał framework koa,

Generally, a framework called Koa was created,

którego autorami byli

whose authors were

ci sami ludzie, którzy

the same people who

stworzyli Expressa. Tak, tak, tak.

They created Express. Yes, yes, yes.

Stwierdzili, że nie mogą

They stated that they cannot.

wprowadzić tego feature'a do

introduce this feature to

samego Expressa, bo to by zepsuło

the Express itself, because it would ruin it

kompatybilność wsteczną i ogólnie

backward compatibility and generally

tam ekosystem już sobie żyje callbackami

There, the ecosystem already lives with callbacks.

i są szczęśliwi z tego powodu.

and they are happy about it.

I zrobili nowy framework, który

And they made a new framework that

chwalił się

he was boasting

polepszeniem w ogóle wydajności.

improvement in overall performance.

Bo się okazało, że te generatory działają szybciej

Because it turned out that these generators work faster.

niż to, co mieliśmy wcześniej

than what we had before

na callbackach. I też

on callbacks. And also

koła wtedy miały bardzo ciekawy moment,

the wheels had a very interesting moment then,

czy bardzo ciekawy

is it very interesting

motyw tego, jak obsługiwał żądania.

the theme of how he handled requests.

Bo stackowałeś tak jakby middlewary

Because you stacked as if you were middleware.

i te middlewary działały w dwie strony.

And the middlemen operated in both directions.

Na zasadzie, jak przychodził request,

As the request came in,

to on wchodził w pierwszy middleware,

he was entering the first middleware,

tam miałeś yelda,

there you had the yelda,

który przepuszczał się do kolejnego

which let through to the next one

middlewara, do kolejnego, do kolejnego

middlewar, to the next one, to the next one

i tak dalej. Jak już nie było

"and so on. As it was no longer"

czego yeldować, to wracało do tych

What to yield, it returned to those.

yeldów, które zostały zapoczątkowane wcześniej.

yields that were initiated earlier.

W ogóle on... Jego też faktycznie

In general, he... Him too, actually.

stworzył wręcz twórca.

he created indeed the creator.

...expressa.

...expresses.

TJ Holowalczuk.

TJ Holowalczuk.

Brzmi jak polskie nazwisko, ale

It sounds like a Polish surname, but

takie trochę zmieszane. Albo takie

a bit mixed up. Or something like that.

jakkolwiek wschodnie.

however eastern.

Koła w 2013 wyszedł.

The wheels came out in 2013.

O tym, czy generatory są czytelne i fajne...

About whether the generators are readable and cool...

Nie.

No.

Jest to dyskusyjna teza.

It is a debatable thesis.

Ja tutaj bym przytulił wszystkich, którzy pracują

I would hug everyone who works here.

z Reduxem i Redux Sagą.

with Redux and Redux Saga.

Sagami?

Sagami?

Już wiecie, gdzie używać sag?

Do you already know where to use sag?

No tak, bardzo.

Well, yes, very much.

Podegresjonowaliśmy sobie.

We have regressed a bit.

Tak, ale faktycznie

Yes, but actually.

te wczesne frameworki mamy

we have these early frameworks

Expressa, mamy Happy, mamy Koła.

Express, we have Happy, we have Wheels.

To wszystko gdzieś jest

Everything is somewhere.

dosłownie parę lat po wydaniu

literally a few years after the release

Noda. Co ciekawe, Express dalej

Noda. Interestingly, Express goes on.

ma się dobrze. I się praktycznie

is doing well. And practically

nie zmienił od tamtego czasu. I powiedzmy

he hasn't changed since then. And let's say

później, dlaczego. Przejdźmy

later, why. Let's move on

później do nowożytniejszych

later to the more modern ones

rzeczy. Ja bym się zatrzymał na roku

things. I would stop at the year

2012.

2012.

Powiedzmy sobie,

Let's say to ourselves,

kto w ogóle zarządzał

Who was in charge at all?

w tych early days

in those early days

rozwojem Noda. Bo

the development of Node. Because

Node był rozwijany i zarządzany

Node was developed and managed.

przez firmę

through the company

Joyent. Gdy tutaj pracował

Joyent. When he worked here.

Ryan Dahl, to nie był projekt

Ryan Dahl, it wasn't a project.

taki per se

such per se

wtedy otwarty. I oni bardzo

then open. And they very

mocno trzymali na tym łapkę.

They held on tightly to it.

Z tym w ogóle była ciekawa historia związana, bo to było tak,

There was a curious story connected with this, because it went like this,

że Joyent odezwał się do Ryana

that Joyent reached out to Ryan

na samym początku i powiedział, chcielibyśmy to

At the very beginning, he said, we would like to do this.

używać na produkcji. To już, on już tam

use in production. It's already there, he's already there.

pracował? Właśnie nie pamiętam,

Did he work? I just don't remember.

czy on już tam pracował, ale generalnie

Has he worked there already, but generally...

pamiętam jedno hasło. Chodź do nas.

I remember one slogan. Come to us.

Trzeba to owszem

It is necessary, indeed.

doszlifować, ale chcemy tego używać na produkcji.

to refine, but we want to use it in production.

Ja nie wiem, czy to był Joyent, czy to już była

I don't know if it was Joyent or if it was already.

jego kolejna firma. Nie pamiętam dokładnie,

his next company. I don't remember exactly,

jak wyglądał timeline jego zatrudnienia.

What did his employment timeline look like?

Nawet sprawdzałem dzisiaj.

I even checked today.

Czekaj. Wyciągnę telefon

Wait. I'll take out my phone.

państwo tego,

the state of this,

czy wy to widzicie albo nie widzicie.

Do you see it or do you not see it?

Część z was pewnie to widzi. To się wytnie.

Some of you probably see it. It will be cut out.

To się wytnie. Tak.

It will be cut out. Yes.

Ryan Dahl pracował w Joyencie od

Ryan Dahl worked at Joyent from

grudnia 2009.

December 2009.

To już było po wydaniu inicjalnym

It was already after the initial release.

Node.js.

Node.js.

Czyli sprawdza się zasada,

So the principle holds true,

weź popracuj z open sourcem, dostaniesz pracę.

Go work with open source, you'll get a job.

Tak, tak. Nice, ok.

Yes, yes. Nice, ok.

Jednemu się udało. Musi działać.

One succeeded. It must work.

Tak, o tym nie wiedziałem. Ale tak, właśnie Joyent

Yes, I didn't know that. But yes, it was Joyent.

opiekował się tym i miał

he took care of it and had

do tego powiedzmy większe prawa.

let's say greater rights.

Właściwie sterował trochę rozwojem technicznym

He was actually somewhat in control of the technical development.

Noda. No i

Nothing. Well and

Ryan Dahl

Ryan Dahl

od Node.js odszedł

left Node.js

dość szybko.

quite quickly.

Bardzo zdziwiło. Trzy lata czy cztery lata?

It was very surprising. Three years or four years?

Trzy lata. W 2012 roku.

Three years. In 2012.

A pamiętasz gdzie odszedł?

And do you remember where he went?

Na jego Linkedinie widać, że

On his LinkedIn, it is visible that

on potem pracował z Googlem od 2016

He then worked with Google since 2016.

roku, ale

year, but

tutaj nie jestem w stanie powiedzieć

I can't say here.

co się działo pomiędzy, także nie wiem.

I don't know what was going on in between either.

Ale odszedł, bo

But he left because

głównie miał

mainly had

trochę żal do decyzji projektowej,

a bit of regret towards the design decision,

które zostały podjęte odnośnie rozwoju

which were taken regarding development

Noda.

Noda.

Nie do końca

Not entirely.

podobał mu się fakt wprowadzenia

He liked the fact that it was introduced.

NPM-a i modelów, w których NPM

NPM and models in which NPM

działa, że można było

it works that it was possible

włączyć właściwie

turn on properly

na dziko zależność.

wild dependency.

Okej, źle to ująłem. Nie na dziko.

Okay, I phrased that poorly. Not in the wild.

Można było włączyć zależność, która mogła robić

It was possible to enable a dependency that could do.

cokolwiek, bo

anything, because

miała dostęp do swojego dysku, mogła wysyłać requesty

she had access to her disk, she could send requests

sieciowe. Nie za bardzo miałeś kontroli

networked. You didn't really have control.

nad tym jako developer, jak już włączyłeś.

about this as a developer, once you’ve enabled it.

Zaczęło się rodzić Deno w jego głowie?

Did Deno start to be born in his head?

Czy...

Whether...

Probably.

Probably.

Deno te problemy adresuje jak najbardziej.

I definitely address these problems.

Tak, jak najbardziej. Także...

Yes, absolutely. Also...

Deno bardzo mocno to adresuje

Deno addresses this very strongly.

i to też były powody, dla których

and these were also the reasons why

odszedł bardzo szybko, bo w

he left very quickly, because in

2012 roku właśnie

The year 2012 just.

i z firmy, i z Joyenta,

from the company and from Joyenta,

i z rozwoju Node.js-a.

and the development of Node.js.

Ale Joyent dalej trzyma

But Joyent still holds on.

rękę na rozwoju Deno.

a hand in the development of Deno.

Na rozwoju Noda.

On the development of Node.

I w 2014 roku

And in 2014

część ludzi, którzy

a part of the people who

utrzymują Noda

they maintain Noda

i go rozwijają, stwierdza, że

I am developing, he/she states that

niekoniecznie im

not necessarily them

pasuje taki governance,

such governance fits,

że Node się nie rozwija właściwie,

that Node is not developing properly,

ich zdanie rozwija się za wolno,

their sentence develops too slowly,

nie ma tam części rzeczy, które by chcieli,

There are some things there that they would want.

nie jest zalajnowany z najnowszymi

it is not updated with the latest ones

wersjami V8-a i się

versions of the V8 and itself

rozdzieli powstał fork,

a fork was created.

który możecie kojarzyć, czyli

which you may associate with, that is

IOJS. Tak, możecie kojarzyć

IOJS. Yes, you might associate it.

jak programowaliście w tamtym czasie,

how did you program at that time,

bo teraz... Był 2014 rok.

Because now... It was the year 2014.

Teraz to trzeba grubo kopać, żeby w ogóle

Now we have to dig deep, to even...

znaleźć jakąkolwiek informację na temat

to find any information about

IOJS-a. Spoiler alert,

IOJS. Spoiler alert,

dlatego, że po prostu się połączył

because it simply connected

z Nodem z powrotem po kilku latach,

with Nod back after a few years,

czy w niecałym roku?

in less than a year?

Po niecałym roku, tak, tak, bo oni

After not quite a year, yes, yes, because they

głównie właśnie chcieli

mainly they wanted

mieć możliwość szybciej

to have the opportunity to be faster

reagować na zmiany,

react to changes,

być bardziej zalajnowanymi z tego, co się dzieje

to be more informed about what is happening

jeśli chodzi

when it comes to

o wsparcie

about support

V8-a i tak dalej.

V8 and so on.

I faktycznie gdzieś po roku,

And indeed, somewhere after a year,

w 2015 roku

in 2015

zawiązała się

it has formed

fundacja, Node.js Foundation,

foundation, Node.js Foundation,

która połączyła

which connected

Node.js-a i IOJS-a

Node.js and IOJS

pod jednym ciałem.

under one body.

To wszystko było pod kuratelą

It was all under supervision.

Linux Foundation. Jeśli pamiętacie odcinek

Linux Foundation. If you remember the episode

o jQuery, to pewnie pamiętacie

Oh, jQuery, you probably remember.

tą drabinkę, jak

that ladder, like

te fundacje się łączyły tam wspólnie.

These foundations were merging there together.

JQuery Foundation, potem było...

JQuery Foundation, then there was...

Nie, to nie było jQuery Foundation.

No, it was not the jQuery Foundation.

To było jQuery Foundation plus...

It was jQuery Foundation plus...

Patrzcie, my nie pamiętamy.

Look, we don’t remember.

Plus coś jeszcze. To się potem połączyło jeszcze

Plus something else. That later connected as well.

z Node Foundation i powstał z tego OpenJS Foundation.

from the Node Foundation and this led to the creation of the OpenJS Foundation.

W 2019 roku.

In 2019.

Ale my jesteśmy na razie w roku 2015.

But we are currently in the year 2015.

I wtedy właśnie

And that is when

Node.js Foundation powstał. I wtedy

The Node.js Foundation was established. And then

właśnie też ponownie połączyły się te dwa

those two have just reconnected again

forki, czyli IOJS i

forks, that is IOJS and

Node.js. Wtedy też

Node.js. Then also

zostało ustanowione

was established

nowy statut.

new statute.

Powstał komitet, techniczny

A technical committee has been formed.

komitet sterujący

steering committee

Node.js-em. Zostało to uwolnione od

Node.js. It has been freed from

jointa i tak dalej.

joint and so on.

I w skład tej fundacji,

And as part of this foundation,

w skład Node.js Foundation

the Node.js Foundation

w ogóle weszło sporo

A lot has come in at all.

dużych firm, bo był tam oczywiście

large companies, because he was obviously there

joint, był tam IBM,

joint, there was IBM,

był tam Microsoft, PayPal,

there was Microsoft, PayPal,

SaaS, GoDaddy, DigitalOcean.

SaaS, GoDaddy, DigitalOcean.

Także naprawdę

So really

duża grupa.

large group.

Potem tam jeszcze dołączył Snyk,

Then Snyk joined there as well,

potem dołączył Google jeszcze,

then Google joined in as well,

potem NodeSource,

then NodeSource,

Red Hat, to już w kolejnych latach i tak dalej.

Red Hat, it will be in the following years and so on.

I do momentu połączenia z

Until the connection with

JS Foundation,

JS Foundation,

jak się stworzyło OpenJS Foundation

how the OpenJS Foundation was created

w 2019 roku, naprawdę

in 2019, really

było tam duże grono firm, które

there was a large group of companies that

którym było bardzo na sercu rozwijanie

which was very dear to them to develop

Node.js. Chciałem mieć kawałek

Node.js. I wanted to have a piece.

tego governance'u pod sobą.

this governance underneath you.

Kawał historii, sporo

A piece of history, quite a bit.

dużych nazw, wszyscy

big names, everyone

zainteresowani

interested parties

wciągnięciem Node.js-a w swój

by incorporating Node.js into your

stach technologiczny prawdopodobnie.

technological stack probably.

Wszystkie firmy generalnie czerpały z tego zyski.

All companies generally profited from this.

Podobnie zresztą jak Microsoft

Similarly to Microsoft.

robił z Linuxem.

he was doing with Linux.

Ciekawostka, Microsoft był

Interesting fact, Microsoft was

jednym z większych kontrybutorów, jeżeli chodzi o

one of the larger contributors when it comes to

core Linuxa

Linux kernel

i finansowanie

and financing

projektów open source'owych wokół Linuxa.

open source projects around Linux.

Generalnie ich chmury na tym stały.

Generally, their clouds were based on that.

Ale tutaj zrobiłem dygresję.

But here I digressed.

W tym przypadku to są firmy,

In this case, these are companies.

które zauważyły w Node.js-ie

that they noticed in Node.js

sporą szansę.

a good chance.

I mówimy tutaj

And we are talking here.

o serwerowniach w dużej mierze.

about server rooms to a large extent.

W sensie DigitalOcean.

In the sense of DigitalOcean.

Firma w dużej mierze hostująca serwery.

A company largely hosting servers.

Oni chyba mieli jako jedni

They probably had it as one of the few.

z pierwszych w ofercie w ogóle

one of the first in the offer at all

możliwość wykupienia serwera, gdzie możesz

the possibility of purchasing a server where you can

odpalić takiego Node'a za

start such a Node for

śmieszne pieniądze.

funny money.

Bo hostowanie Node.js-a

Because hosting Node.js

to nie jest prosta sprawa.

It's not a simple matter.

Jeżeli nie masz VPS-a

If you don't have a VPS.

albo czegoś, wiesz,

or something, you know,

własnej maszyny z dostępem roota,

own machine with root access,

no to nie polatasz.

Well, you won't be flying.

Teraz już trochę zmieniło, ale mamy

Now things have changed a bit, but we have...

sporo rzeczy opartych na Javascript'cie

a lot of things based on JavaScript

w Cloud Functions,

in Cloud Functions,

jakieś takie dziwne rzeczy.

some strange things.

Ale takiego gołego ekspresa, żeby wyhostować,

But a bare express like that, to host,

to trzeba trochę poszukać.

You need to look for it a bit.

Chyba, że masz jakieś złote narzędzie,

Unless you have some golden tool,

które możemy się podzielić.

which we can share.

Na wtedy.

For then.

Nie wiem, nie wiem.

I don't know, I don't know.

Ale odnośnie ekspresa,

But regarding the espresso,

to IBM

to IBM

też tutaj ma dużą

also has a big one here

rolę, bo nie wiem, czy kojarzy się, jak sam

the role, because I don't know if it rings a bell, like myself

ekspres się rozwijał.

the express was developing.

Bo ekspres 2010, już mówiliśmy,

Because the express 2010, we already said,

on bardzo szybko

he is very fast

został dobrze przyjęty itd.

He was well received, etc.

I go używali

They used to go.

naprawdę wszyscy duzi gracze.

really all the big players.

IBM, Uber, Twitter

IBM, Uber, Twitter

itd.

etc.

I w 2016

And in 2016

Strongloop, która rozwijała

Strongloop, which was developing

ekspresa, przejął IBM.

Express, taken over by IBM.

Strongloop rozwijał ekspresa?

Did Strongloop develop Express?

Strongloop, no.

Strongloop, no.

Oni też mieli w ogóle takie generatory.

They also had such generators at all.

Oni mieli taki bardzo potężny

They had such a very powerful one.

generator do

generator do

aplikacji w stylu

application in style

MVC, ale nie pamiętam, jak on się nazywał.

MVC, but I don't remember what it was called.

Chyba Strongloop, po prostu.

Probably just Strongloop.

Tak mi się wydaje. I faktycznie potem

I think so. And indeed later

wykupił IBM. Czyli IBM teraz też

He bought IBM. So IBM now too.

dalej, dalej bardzo mocno tego ekspresa

Come on, come on, very strongly with this express.

wspiera. Jak już przy ekspresie jesteśmy,

supports. While we are at the espresso,

to może zamknijmy go

Maybe let's close it.

klamrą. Loopback.

clamp. Loopback.

Loopback właśnie. To było to. Zamknijmy go

Loopback, exactly. That was it. Let's close it.

klamrą, bo ekspres

with a buckle, because of the express

też działa w wielu innych frameworkach,

also works in many other frameworks,

ale pod spodem, nie wiem, w

but underneath, I don't know, in

Next.js, w silosach, w loopbacku

Next.js, in silos, in loopback

wspomnianym. I on tam

mentioned. And he is there

jest bardziej jako delivery layer.

It is more of a delivery layer.

Czyli w Next.js

So in Next.js

możecie sobie sprecyzować, że okej,

you can specify that it's okay,

nawet chyba domyślnie w Next.js masz po prostu

I think even by default in Next.js you just have

ekspresa jako delivery layer.

Express as a delivery layer.

A cały Next.js jest nadbudową

And all of Next.js is a layer on top.

nad ekspresa. To jest bardzo ciekawe.

Above the express. This is very interesting.

A to jest Nestle na przykład.

And this is Nestle, for example.

Bo powiedziałeś Next. Nie, Nest.

Because you said Next. No, Nest.

Nest. Sorry, przeżyczyłem się.

Nest. Sorry, I got carried away.

Chodzi mi o Nest.js, a że właśnie

I'm talking about Nest.js, and that just...

w Nest.js ekspres.js jest

In Nest.js, Express.js is.

delivery layer by default.

warstwa dostawy domyślnie.

Także on do dzisiaj jest bardzo

He is still very much so today.

mocno używany i popularny.

strongly used and popular.

Niekoniecznie dlatego, że jest używany

Not necessarily because it is used.

bezpośrednio. Ale jak byliśmy

directly. But when we were

przy tej fundacji Node.js

with this Node.js foundation

powstałej w 2015 roku,

established in 2015,

jeszcze jedna rzecz się wydarzyła w 2015 roku.

One more thing happened in 2015.

Oprócz tego, że się połączyły

Besides the fact that they connected.

dwa forki, co jest

two forks, what is it?

dość zabawne.

quite funny.

Proszę Ciebie, bo wtedy też

I'm asking you, because then too

wyszła wersja 1.0

Version 1.0 has been released.

z Node.js.

with Node.js.

To było dopiero...

It was just...

Tam leciał 0.0.10

There it was flying 0.0.10.

coś takiego. Tak, tak.

Something like that. Yes, yes.

To był długi czas. Dokładnie.

It was a long time. Exactly.

I to było po połączeniu się z IO?

And was that after connecting to the IO?

Tak, dokładnie.

Yes, exactly.

Także jest dość zabawne, że dopiero wtedy

It's also quite funny that only then

przeszli na SemVer,

they switched to SemVer,

w sensie na semantyczne wersjonowanie

in the sense of semantic versioning

w 2015 roku. Tak, w międzyczasie

in 2015. Yes, in the meantime

poszukałem informacji a propos...

I looked for information regarding...

I wtedy w ogóle zaczęli też mieć jakiś

And then they also started to have some.

regularny cykl wydawniczy. Wtedy chyba też

regular publishing cycle. Then I suppose too

LTS-y się pojawiły. Także to

LTSs have appeared. So that.

dopiero parę lat po tym.

only a few years after that.

Wiesz, jak się pojawiły wśród zainteresowanych

Do you know how they appeared among those interested?

firmy w stylu IBM,

companies in the style of IBM,

to już nie przelewki. Zresztą Strongloop

It's no joke anymore. Besides, Strongloop.

i w ogóle Loopback

and in general Loopback

to było zaplecze bardziej

it was more of a back room

komercyjne. Znaczy to już były narzędzia

commercial. It means these were already tools.

typu Enterprise. Tak.

type Enterprise. Yes.

I tam miałeś zestawie

And there you had the set.

dużo, dużo więcej niż Go Express

much, much more than Go Express

dawał Ci do dyspozycji. Express to było tak, że...

he made it available to you. It was expressed in such a way that...

Wiesz, mogę się pobawić, pobudować

You know, I can have some fun, build something.

jakąś prostą aplikację.

some simple application.

Nie mam tam jakiejś mega zaawansowanej

I don't have anything mega advanced there.

logiki biznesowej. Okej, są funkcje,

business logic. Okay, there are functions,

obsługują żądania, są odpowiedź.

They handle requests, they are the answer.

Wszyscy są szczęśliwi.

Everyone is happy.

Loopback to już był Enterprise, nie?

Loopback was already Enterprise, right?

Powiedziałeś, że pojawiły się LTS-y.

You said that LTS versions have appeared.

LTS-y?

LTSs?

LTS-y w Node'ie

LTS versions in Node.

4 lata? Jest tak.

4 years? It is so.

Na dzień nagrywania tego

As of the day of recording this

podcastu, to

podcast, it

warto wspomnieć, aktualnie

it's worth mentioning, currently

LTS-em, czyli Long Term Support

LTS, which stands for Long Term Support.

jest...

is...

Tak,

Yes,

18 ma teraz LTS-a, przepraszam.

18 now has LTS, sorry.

LTS ma teraz 18, tak?

LTS is now 18, right?

LTS-y

LTSs

to jest około 2 lat. Chciałem zrobić

It's about 2 years. I wanted to do it.

jeszcze jedną małą dygresję, bo

one more small digression, because

przypomniało mi się.

I remembered.

Wspominaliśmy o modułach

We mentioned the modules.

o AMD vs RequireJS.

About AMD vs RequireJS.

Zrobiłem błąd,

I made a mistake.

bo generalnie AMD

because generally AMD

wyszło dużo po CommonJS-ie.

A lot has come out after CommonJS.

CommonJS, tak jak

CommonJS, just like

wywnioskowaliśmy, był już w styczniu

we concluded he was already in January

tego konkretnego roku.

this specific year.

2009 roku.

2009 year.

AMD pojawił się bodajże pod koniec

AMD appeared, probably at the end.

tego samego roku,

that same year,

albo chwilę później,

or a moment later,

ale AMD nie mogłoby działać

but AMD could not work

bez RequireJS-a.

without RequireJS.

A RequireJS

A RequireJS

to było narzędzie, które zakładało,

it was a tool that assumed,

że masz narzędzia Node'owe, które pozwalają Ci

that you have Node tools that allow you

skompilować projekt. Także siłą rzeczy

to compile the project. Also necessarily

AMD nie miało jak się z tym

AMD had no way to deal with this.

później znaleźć.

find later.

No dobra, ale w pewnym czasie możemy

Alright, but at some point we can...

wrócić do... Wydaje mi się, że

to return to... I think that

idąc w tych latach, bo doszliśmy gdzieś do

walking in those years, because we have come somewhere to

2015 roku,

in the year 2015,

że idąc w latach, ominęliśmy jedną

that as the years went by, we missed one

bardzo ważną rzecz. Mianowicie

a very important thing. Namely

2010 rok, mówiliśmy o nim,

2010, we were talking about it,

tak, ale wtedy też powstał

Yes, but then it was also created.

NPM. I

NPM. I

warto powiedzieć, tak bardzo,

it's worth saying, so much,

bardzo pokrótce, jak to się wydarzyło,

very briefly, how it happened,

że powstał NPM i

that NPM was created and

jak to się wydarzyło personalnie.

how it happened personally.

Bo

Because

NPM to jest

NPM is this.

Isaac Schluter

Isaac Schluter

bardzo

very

ciężkie nazwisko, ale to jest

a heavy surname, but it is

twórca

creator

NPM'a. Tak się nazywał,

NPM. That's what it was called.

rzeczywiście. Tak, który też był

Indeed. Yes, which was also.

bardzo intensywnie

very intensely

zaangażowany w rozwój samego Node'a. I

involved in the development of Node itself. I

w ogóle, co jest ciekawe,

Overall, what is interesting,

przejął

took over

rozwój Node'a przez

development of Node by

jakiś czas, po tym

some time after that

jak Ryan Dahl

like Ryan Dahl

odszedł z Node'a.

he left Node.

O tym nie wiedziałem. No a w 2010,

I didn't know about that. Well, in 2010,

jak wspominaliśmy,

as we mentioned,

założył NPM'a w sensie

he founded NPM in the sense of

Isaac Schluter.

Isaac Schluter.

I to, co jest jeszcze

And what else is there?

ciekawe w kontekście NPM'a,

interesting in the context of NPM,

to nie wiem, czy pamiętasz...

I don't know if you remember...

Isaac Schluter.

Isaac Schluter.

Trudne to. Nie wiem, czy pamiętasz, od której

It's difficult. I don't know if you remember from which...

wersji zaczął się pojawiać NPM

The version of NPM started to appear.

wbudowany w Node'a. Bo od którejś

built into Node. Because from which one

wersji on był dostarczany

he was delivered in version

wraz z Node'em. Oj, nie wiem.

together with Node. Oh, I don't know.

Ja, odkąd pamiętam,

I, as far as I remember,

to używałem Node'a

I used Node.

z NPM'em od razu, także zakładam,

with npm right away, so I assume,

że to pojawiło się

that it has appeared

przed 2013. Było dokładnie

before 2013. It was exactly

w wersji Node'a 0.6.3,

in Node version 0.6.3,

czyli w

that is in

2011 roku, dokładnie

In the year 2011, exactly.

w listopadzie. Czyli jeszcze przed IO.

In November. So still before the Olympics.

Zdecydowanie jeszcze przed

Definitely still before.

tym rozłamem w społeczności.

this split in the community.

I też gdzieś mógł być jakiś powód,

And there might have been some reason somewhere.

dla którego Ryan Dahl

for which Ryan Dahl

odszedł, bo nie do końca podobał mu się

he left because he didn't completely like it

forma, w jakiej

the form in which

te zależności mogą wpadać do projektu, że

these dependencies can get into the project, that

nie są zarządzane, mają za dużo uprawnień,

they are not managed, they have too many permissions,

itd. Czyli to też dość wcześnie właściwie

etc. So that's quite early actually too.

było. Ten NPM wbudowany w Node'a,

it was. This NPM embedded in Node,

dostarczany razem z nim.

delivered together with it.

Tak. Ja w ogóle pamiętam, że

Yes. I actually remember that

było w 2000

it was in 2000

którymś

which one

JSConf, ostatnia edycja

JSConf, the last edition

JSConf'a w Europie. Tam była prezentacja

JSConf in Europe. There was a presentation there.

w ogóle a propos tego, jak Node.js

Speaking of which, how about Node.js?

się rozwija i jakie są

is developing and what are

decyzje związane właśnie z fundacją.

decisions related to the foundation.

Tam było sporo zamieszania. W ogóle

There was quite a bit of confusion there. At all.

Node.js miał się bardzo źle w tamtym czasie.

Node.js was in very bad shape at that time.

Było lata 2018,

It was the year 2018,

jeżeli dobrze pamiętam, albo

if I remember correctly, or

2019, coś koło tego.

2019, something around that.

NPM to był

It was NPM.

jeden z powodów tego wszystkiego, dlatego

one of the reasons for all of this, that's why

że utrzymanie tak dużego

that maintaining such a large

repozytorium paczek

package repository

z gwarancją bezpieczeństwa tych

with a guarantee of safety for these

paczek, przez to, że nie było żadnych mechanizmów

doughnut, because there were no mechanisms

zabezpieczających to, że okej, te moduły

ensuring that okay, these modules

mogą zrobić co chcesz,

they can do whatever you want,

co nie ty chcesz, tylko co autor tych

It's not what you want, but what the author of these wants.

modułów chce,

I want modules.

to jakby

it's like

zwiększało koszty utrzymania całego tego projektu.

it increased the maintenance costs of the entire project.

Bo trzeba było robić audyty tych paczek,

Because we had to audit those packages,

które są, też trzeba było to skanować

which are, it was also necessary to scan this

na bieżąco. Też

Currently. Me too.

od swego czasu. Zakładam, że to było już

since your time. I assume it was already

po Leftpad Incident. Właśnie,

after the Leftpad Incident. Exactly,

Leftpad Incident to był jeden z tematów,

The Leftpad Incident was one of the topics,

który się wtedy przetoczył przez

that rolled through then

środowisko. Ja tutaj ci wtrącę,

environment. I'll interject here,

czym był Leftpad Incident.

What was the Leftpad Incident?

Była mikrobiblioteka,

There was a micro-library,

nazywała się Leftpad.

It was called Leftpad.

16 linii kodu.

16 lines of code.

Od której, jak się okazało, zależało

From which, as it turned out, depended.

bardzo dużo

a lot

core'owych bibliotek. Babel,

core libraries. Babel,

Webpack między innymi, React chyba też.

Webpack among others, React probably too.

Wszystko tam było.

Everything was there.

React, bo React od Babela.

React, because React is from Babel.

Także ogólnie takim łańcuchem

So generally such a chain.

praktycznie wszystkie core'owe biblioteki

practically all core libraries

i frameworki popularne

and popular frameworks

były zależne od tego Leftpada.

they were dependent on that Leftpad.

I autor tej

And the author of this

libki

libki

odpublikował ją z NPM'a.

he unpublished it from NPM.

Czyli nie można jej było pobrać.

So it couldn't be downloaded.

Czyli cały ten łańcuch

So this whole chain

się posypał. Czyli jeśli

fell apart. So if

próbowaliście pobrać,

did you try to download,

załóżmy Webpacka,

let's set up Webpack,

w jakimś długim łańcuchu,

in some long chain,

który miał 16 linii kodu,

which had 16 lines of code,

to nie byliście w stanie

you weren't able

pobrać, zbudować

download, build

Webpacka.

Webpack.

I NPM w tamtym czasie

And NPM at that time

nie ułatwiał wam zadania.

He didn't make your task easier.

To był 2015

It was 2015.

albo 2016 rok?

or 2016?

Strzelam, że to będzie 2015,

I'm guessing it will be 2015.

bo ja pamiętam dzień, w którym nie budowało się nic.

Because I remember the day when nothing was being built.

Też pamiętam dzień, w którym nie budowało się nic.

I also remember the day when nothing was being built.

Ja bym powiedział, że to było 2016.

I would say it was 2016.

Tak mi się wydaje.

I think so.

Dobra.

Good.

Też przychylam się ku 2016.

I also lean towards 2016.

Ale co chciałem powiedzieć,

But what I wanted to say,

NPM w tamtym czasie też nie ułatwiał nam życia.

NPM didn't make our lives easier at that time either.

Dlatego, że

Because

bardzo ciężko było wskazać

it was very difficult to point out

na alternatywne źródło

to an alternative source

danego kodu.

given code.

Nie mogłeś zdobyć override'a ścieżek.

You couldn't get the path override.

Od tamtego czasu to się zmieniło,

Since then, that has changed,

bo możesz wskazać dokładnie,

because you can point exactly,

gdzie znajduje się biblioteka,

Where is the library located?

którą chcesz zastąpić inną bibliotekę

which you want to replace with another library

w swoim kodzie. Także jak masz, nie wiem, Underscora,

in your code. Also, if you have, I don't know, Underscore,

chcesz używać Lodasha...

do you want to use Lodash...

To jest też kwestia paru lat.

This is also a matter of a few years.

Paru lat od tego incydentu.

A few years since that incident.

Tak.

Yes.

To nie było tak, że od razu wpadnie na ten pomysł,

It wasn't the case that he immediately came up with this idea.

ale faktem,

but the fact is,

pierwszym krokiem, który się wtedy pojawił,

the first step that appeared then,

było to, że

it was that

ok, wyłączamy możliwość odpublikowania paczek.

Okay, we are disabling the option to unpublish packages.

Także co wyląduje

So what's going to land?

w NPM-ie, zostaje tam

in NPM, it stays there

na wieki.

forever.

I

I

to też dało boosta wszelkim narzędziom,

it also gave a boost to all tools,

które chciały replikować

which they wanted to replicate

NPM-a.

NPM.

I nie rzucę z głowy nazwami,

And I won't throw names off the top of my head,

ale wszystkie tule, które pozwalają Ci

but all the sleeves that allow you

stworzyć Twojego prywatnego NPM-a.

create your private NPM.

Mhm. Mhm.

Mhm. Mhm.

Masz w głowie.

You have it in your head.

Jakiś Verdaccio, te klimaty.

Some Verdaccio, that vibe.

Potem tych

Then those

rejestrów, pakietów było dość dużo już.

There were quite a lot of records and packages already.

Mhm. No i ludzie zaczęli

Mhm. Well, people started

myśleć o tym, że ok, dobra, trzeba się

thinking that okay, good, I need to

z tym zabezpieczyć. Co więcej,

to secure this. Moreover,

ja pamiętam, że też zwiększyła się

I remember that it also increased.

świadomość Semwera,

the consciousness of Semwer,

bo niektórzy

because some

na przykład... Generalnie NPM do tej pory,

for example... Generally, NPM so far,

ma jedną zasadniczą wadę. Jak instalujesz

It has one major flaw. When you install

zależności, to wszystkie instalują się

dependencies, they all install themselves

z daszkiem. Tak. Co oznacza,

with a visor. Yes. What does it mean,

że przy najbliższej okazji

that at the next opportunity

może się okazać, że zainstalujecie

it may turn out that you will install

coś innego, niż chcieliście zainstalować oryginalnie.

Something other than what you originally wanted to install.

Bo Wam się podbije albo jakiś bug fix, albo jakiś

Because it will either be a bug fix or something else for you.

minor, a w minorach

minor, and in minors

nie każdy się trzyma Semwera i

not everyone holds onto Semver and

potrafi uwlatywać rzeczy, które są breaking changes

It can violate things that are breaking changes.

i tak dalej.

and so on.

Ja bym w ogóle o NPM-ie

I would generally talk about NPM.

nie wchodził dzisiaj tak głęboko, bo tu

he didn't go that deep today, because here

to jest też duży temat.

This is also a big topic.

Ale zamknąłbym jeszcze

But I would still close it.

właśnie NPM-a, on miał też dużo

just NPM, he also had a lot

turbulencji po drodze, no ale finalnie

turbulence along the way, but in the end

sama firma

the company itself

powstała w 2014 roku

founded in 2014

NPM, która

NPM, which

zarządzała NPM-em, notabene

she managed the NPM, by the way

i w 2020 roku wykupił ją

and in 2020 he bought her out

Microsoft, który

Microsoft, which

do dzisiaj trzyma gdzieś tam rękę

To this day, he/she keeps a hand somewhere there.

na NPM-ie. Proste, ja nawet nie wiedziałem, że Microsoft...

on NPM. Simple, I didn't even know that Microsoft...

Tak, tak, w 2020 roku.

Yes, yes, in 2020.

Oni mają GitHub'a, mają

They have GitHub, they do.

NPM-a. A, dobra, no tak. I to było tak, że chyba

NPM. A, okay, well yes. And it was like, I think

GitHub był pierwszy. GitHub był chyba pierwszy,

GitHub was first. GitHub was probably first.

potem był NPM, tak mi się wydaje. Tak, tak, tak.

Then there was NPM, I think. Yes, yes, yes.

Tak, że się działo.

So, there was a lot going on.

Dobiliśmy do brzegu, bo wydaje mi się, że

We reached the shore because I think that

to jest moja opinia,

this is my opinion,

że na 2015 roku

that for the year 2015

się kończy taki

it ends like this

intensywny

intense

i ciekawy

and interesting

twisty rozwój samego

twisty development itself

Noda, potem mamy 2018,

Then we have 2018,

powstanie Deno,

the Deno uprising,

sam Node dalej się mega

I'm still doing great.

rozwija, używamy go na co dzień,

it develops, we use it every day,

ja mogę mówić za siebie,

I can speak for myself,

ty zakładam, że... Ostatnio

I assume that you... Recently

natywny fetch wleciał. Tak.

The native fetch has arrived. Yes.

Tak, tak, że tam się dzieje naprawdę dużo rzeczy.

Yes, yes, a lot of things are really happening there.

Trochę nie będziemy w to wchodzić,

We won't be getting into that a bit.

bo...

because...

To już jest, że tak powiem,

This is already, so to speak,

przyprawianie tego, takie wisienki na torcie,

seasoning this, like cherries on the cake,

stawianie, bo generalnie Node

putting, because generally Node

w 2015 już

in 2015 already

był w takim kształcie, że można go było produkcyjnie

it was in such a shape that it could be produced industrially

używać. Środowisko,

to use. Environment,

w ogóle cały ekosystem się ustabilizował.

Overall, the entire ecosystem has stabilized.

Tak mniej więcej, no, no. Nazwiska, które

Yes, more or less, well, well. The surnames that

że tak powiem się przykleiły do tego projektu

I would say they stuck to this project.

dalej są do niego przyklejone, z tego

they are still stuck to him, from this

co mi się wydaje?

What do I think?

Częściowo. To już się sformalizowało.

Partially. It has already been formalized.

Jest też ten

There is also this

Technical Steering Committee, czyli komitet

Technical Steering Committee, that is the committee

techniczny sterujący rozwojem

technical controller of development

Node.js, który ma

Node.js, which has

właściwie wszystkich tych głównych kontrybutorów i tak dalej.

Actually all of these main contributors and so on.

On trzyma rękę na tym, jak to się rozwija.

He keeps his hand on how this is developing.

Nawet zaczęli ostatnio iść w kierunku

They have even started to head in that direction recently.

standardyzacji API

API standardization

i alignowania się do

and aligning to

tego, co jest w webie, bo to nie zawsze było

what is in the web, because it wasn't always like that

oczywiste, wbrew

obvious, contrary

pierwszym zapowiedziom Rea Nadala.

the first announcements of Rea Nadal.

Także tam się dużo dzieje, ja już bym w to

There's a lot going on there too, I would already get into it.

nie wchodził, bo to już nie jest archiwum,

he didn't enter because it's no longer an archive,

a my tu się archiwum zajmujemy.

and we are dealing with the archive here.

Dokładnie tak. Trzeba sobie gdzieś postawić kropkę.

Exactly. You have to put a period somewhere.

Tak, tak. Także ja bym tutaj

Yes, yes. I would also here

zamknął na tym roku.

It closed this year.

No i co?

So what?

Jednym zdaniem podsumowania?

One sentence summary?

Ja się cieszę, że to się stało.

I am glad that it happened.

Piękna to była przygoda, nie zapomnę jej nigdy.

It was a beautiful adventure, I will never forget it.

Dziękujemy wam

Thank you.

bardzo za dzisiaj

thank you very much for today

i za tą opowiastkę o Node.js

and for that story about Node.js

i zobaczymy się kolejnym razem

and we will see each other next time

z jakimś kolejnym historycznym,

with some another historical,

archiwalnym tematem. Tak jest. Dajcie nam

an archival topic. That's right. Give us

w komentarzach, czy ten temat wam się

In the comments, do you like this topic?

podobał, co chcielibyście usłyszeć

I liked what you would like to hear.

w kolejnych odcinkach

in the next episodes

i oczywiście łapka, subik.

And of course, a like and a subscribe.

Łapka w górę, subik, podajcie dalej

Thumbs up, subscribe, pass it on.

nasz podcast, bo bardzo chcemy, aby też

our podcast, because we really want you to as well

poszedł do innych zainteresowanych. Mam nadzieję, że

he went to others interested. I hope that

wam się podobało i jeśli

you liked it and if

traficie na jakiegoś babola merytorycznego,

you will come across some substantive errors,

to nam go wytknijcie w komentarzach.

So point it out to us in the comments.

Zdecydowanie tak.

Definitely yes.

Szukamy hejterów cały czas,

We are constantly looking for haters,

także jak znacie kogoś, kto mógłby tam pokomentować,

so if you know someone who could comment there,

to przyda się.

It will come in handy.

Dzięki wielkie, trzymajcie się, cześć.

Thanks a lot, take care, bye.

Cześć.

Hello.

Continue listening and achieve fluency faster with podcasts and the latest language learning research.