Well, i could see that "solving the problem" is the hard part, once the problem is no longer hard then you just have to type the logic out. There are plenty of people where using arrays are hard, but once you know how arrays work it's trivial.
It becomes irrelevant since you know you can build anything with what you currently use anyway. Once you know the tool well, then you know that everything is yet another permutation of abstraction on the same base JS language. If I need to write a complex UI in plain JS, then I can happily do that as well, I used to output thousands of lines of that thing.
No wonder websites and browser caches are bloated if you need over 1 MB for each website. For a lot of projects and sites you could fit well within 1 MB with both backend, frontend and all styling.
If you want to do that, then you raw dawg some plain JS. I used to write thousands of line of that thing and it was still tiny. Or at most react with no other dependencies, those can be painful.
@@Leonhart_93 You know whats most infuriating? It's when you see something like jQuery or something being used to do the most trivial s**t ever, and the only reason it's used is because a) it was the first thing that came up on Google and b) the person has little clue about Vanilla JS and the DOM... It's a new version of Cargo cult programming, but now instead of including something that does nothing, you include something for every little piece of work that needs to be done.
I realized after returning home from a three week cross-country driving journey that I needed to organize my tasks, but my kanban instance has been broken for a few months, so I thought "I should make some kind of app". Then I realized that I didn't have 20 hours to spare before getting shit done, so I thought "I should just use an Android to-do app". But then I realized that fixing my phone was one of the tasks and might involve a data wipe, so a to-do app would not work (and besides, they all suck). Finally, I had an epiphany: I grabbed a piece of paper and a pen. This mental clarity would not have been possible had I not given up writing JavaScript.
I will admit that I googled a bunch of the things he mentioned, mostly because a part of me didn't believe that some of them were actually real. I then realized that I honestly had no interest in using any of them or really reading the docs for curiosity's sake, closed the browser tab, and moved on....
@@ThePrimeTimeagen We're using them all, pretty much. Even as a Junior, I'm familiar with most of these names. Not saying I'm enjoying it, truth to be told
I am embedded systems engineer and my new hobby is web apps. At work, I debug very low level issues, designing my own graphics pixel by pixel, etc... For my hobby project I use JS, React and Strapi. All I do in that project so far is to read documentation and figure out how to plug in things, what library to use, etc... I have fun, but I feel similar to 10 years ago when I was just using Arduino libraries, very far from knowing why it is the way it is.
Very good advice. I've been building a project for the past three years. Sticking with it consistently has changed who I am so much that I can't even begin to compare what I knew starting out to what I've experienced in these years. I used to leave a lot of projects unfinished, jumping on many different tangents. But once I stuck to this particular passion project, it really started to pay off. (By the way, the project will soon go public and hit v1.0.0!)
I just find it fascinating that every single new JS framework is always just compromised in some way. Like, it works all good, but then you encounter your first "bubble gum solution" the framework has to use to do its thing. Then another. Then another. So much of JS libraries feel extremely hacky and like they're going to explode any second.
@@Leonhart_93 Yes /kinda e.g the npm has nobody who really looks and kicks out trivial implementation and then every one reference this implementation and then in the next iteration everyone creates their own packet manger which makes dependency hell worse. Its just so since roughly around 2008 web development is a buzzword and marketing circus unlike any other software development . Web development had since then the tone of that some devs want to cave out their own space in it with tools , frameworks and so on Open source make this very easy . Why they doing this ? Because a LAMP stack even a highschooler can use and would be for more then 90% of the internet good enough. Even Wikipedia one of the most visited sides still runs on it
This is the perfect analogy lol. But dam…how do you make a fast, optimized websites for people with MBAs that think websites are magic lol? You really don’t have a choice but to make a glass cannon website held together with some gum unless it’s your own website.
To anyone looking to role their own auth, there’s an amazing chapter in “Let’s Go” that details how one would go about it using Go. After reading the chapter Auth just made sense and it’s no longer scary.
learning how stuff works is always a very good thing to do. be careful not to fall into the noob trap afterwards of rolling your own auth in production.
Really appreciate the reflection at the end. Very often I get the urge to really try to learn and know about everything in the dev world... and I forget that it's just as imposible as useless.
Yeah just learn the layers that all of the web stands on. Things like how the server and the client communicates, what is a runtime, HTTP, SSL, what's the role of the bundler etc. and you're golden!
The analogy of the boiling frog is perfect. To try to combat this I have been learning how to build website/apps limiting myself to tech that was available at a certain time period and progressively adding newer and newer technologies. Hopefully this will help me understand the "why" of each abstraction layer that has been added over the years.
Amazing advice. I’m a senior CS student and have been doing web dev on my own for around 8 months now. Abstraction will hurt you if you don’t know what is going on behind the scenes
@@jan.tichavsky That's why newer versions of Laravel are moving towards a "batteries are opt-in and not included by default" type of approach. I am not sure if this is already the case in version 11 or if it will come in a later version. But Taylor Otwell already said that this is their goal.
Backwards compatibility and maintenance is so underrated. Though I hate wordpress backwards compatibility is what they do right. You rarely have to change your plugin just because of a new Wordpress version. Laravel does it right as well.
Dammit, when I saw the title I thought you actually interviewed the guy, which would have been amazing. Imagine Prime interviewing him while he remains in his character as js dev, that would be top content right there
The solution is simple. Almost painfully so. Just use the same tools you have been using for the past few years. They work just fine, nothing is all that better or worse about other new stuff. The language is the same, everyone just adds their own flavor of abstraction on top. Ignore everything new and shiny, they just distract you from mastery.
If you use any npm package over a week old you get a million CVEs reported though. If you use the new ones the vulnerabilities still exist but they haven't had time to get reported yet so you can make snyk stfu for a few minutes.
@@georgehelyar I was talking about frontend JS, the framework craze is about frontend. And there aren't significant security concerns when designing an UI, all of that depends on the requests themselves which can be a completely separate matter. For frontend I like to go as pure as possible, the more bloat you add, the more that bundle size increases needlessly.
@@Leonhart_93my comment was mostly a joke, but actually if you use a security scanner like snyk, the number of CVEs you get in modern frontend is insane, because a hello world app is hundreds/thousands of packages. The joke was that it's basically impossible to get rid of them all but if you keep updating you can keep ahead of the scanner. Or just use jQuery or vanilla JS (or wasm)
My environment uses JS ES5, has no way to import stuff from repositories (unless I wrote an npm client in the system and implemented my own include system), and is barely capable of importing scripts from its own window. It's mostly okay to use, except I keep having to check whether the solutions mentioned on SO are old enough to be supported on ES5. And all the answers assume a browser, my environment is a test and measurement automation system. Beats doing the tests by hand.
I can't believe he's not able to sort tearing out in the longest time. It's not that hard, just read the Arch Wiki, all the info is there, and work even on non Arch based distros.
His monologue at the end is 100% correct. Literally got my current job by talking about a crappy hardware project I was working on to solve something in my life, nothing to do with the software job the interview was for.
I once sat in a meeting with the Senior and Lead once. They were planning for a new project and they were discussing all these new technologies that I haven’t even heard of and some which I heard but haven’t used. Suffice to say, I was sitting there staring blankly at the whiteboard. I have never felt that out of place ever 😂
when i started programming, i thought I was goin to have my head down while typing out php or javascript to create websites. now, its more about picking the right package/framework and managing dependencies and breaking changes and working around package limitations. for reference, I learned on LAMP stack, then learned MERN.
Javascript is easy to ship under 1MB on the edge thanks to tools like webpack and esbuild. Split every route of your API into its own bundle and they sit around 500kb
My favourite thing is getting interviewed by a junior dev that bluffed their way into a lead role at a startup and gets excited to show off their technology-specific trivia questions only to be shocked at getting “i dont care” as a response to the questions lol
1st world JavaScript problem. Back in Soviet Russia ... Ahem back in Kenya, it does not matter how easy clerk, vercel so long as however is paying sees > $3 You got to make it work in a shared hosting plan , which in my experience, you roll out your own everything cause external libraries are not compatible with the Node env in cPanel But sadly the delusion from the west has crept into the east, had an internal who literally asked paraphrasing.. "How do you deploy without Vercel & do auth without next auth? Can't we convince the client to pay for Vercel?" I'm happy to report that we had a lengthy the talk about ssh, scp, ftp, pm2, cookies & sessions etc etc I'll have to put a good share of blame to code camps where in 6 months you graduate as a senior developer with dollar signs on your eyes.
I would love to see Oauth done from scratch in these 50 lines of code. Not that I doubt that it can be done, I think it could be done but I've never worked in an environment where that was even an option. I think it would be cool basically.
Depends what you mean by doing oauth. Go to authorize URL then get code and go to token URL is pretty easy, but you need a server to actually do the hard part. Fortunately, that server can just be any oauth provider e.g. Microsoft or Google, and then you don't have to store passwords etc either.
@georgehelyar Pfft, first they have to show that there is ANY chance in hell they can replace even the bottom feeder devs. Nothing, and I mean nothing of what they've shown currently is capable of even touching 5% of that, everything is so very bad when they need to handle more than 10 lines of code at once.
Finding something you actually want to make is the best advice you can get for learning and just coding daily. For getting a job, the thing you want to make should demonstrate your abilities to solve business problems. Since that's what they're hiring you for. If what you want to make also does that, best of both worlds. But if you're just learning or having fun, don't worry about that. Making a portfolio of projects the solve business problems is like lifting for a competition. Building projects to learn or have fun is lifting to be healthy. You do it differently for different purposes.
re: rolling your own auth -- I did the same when I was just a hobbyist. Not hard at all, and I'd rather spend time learning the fundamentals than the idiosyncracies of some service like cognito.
@@godowskygodowsky1155 accounted for. I get the perspective, and in mission-critical software, yeah -- know what you're doing or be safe. But you don't get to know what you're doing without doing it, and I'm not a fan of relying on a few people maintaining all the world's implementations of a simple thing any programmer can learn. Like, even form inputs... My client got cheap labor knowing I was green, and I got to figure out how to implement forms and fight spammers. I made honeypot submit buttons, wrote a pretty effective spam filter, and integrated captchas. It's not the best, but it works for that implementation. And you know what? It doesn't seem like magic anymore.
The "Don't write this down, it will be different next week" ten minutes into this insanity was so amazing. It is at times like this I am happy I am a C dev professionally. We just upgraded to C23 at work. With that we got like 4 new really cool things (some of which I had already learned to love from coding Zig in my free time), and like 2 interesting things that I am not sure what I think about yet. That is it for like 10 years. Then we just go ahead and write software (and try not to create any memory issues or UB, I know I know...).
The best way to write C is to write it in sex-pressions use LISP macros with quasiquoting to generate your C code and then if anyone gets suspicious show them the C-code derived from S-expression tree. Also the next best way is to write code in say Python/c#, and then run a Python -> C cross compiler, as you can edit your program while its still running in Python.
without a diagram just a simple list of the stack of ~5 or so libraries is pretty great. and the miracle is theyre all mostly interopable with each other
that analogy with the boiled frog is exactly how i described it as an SRE talking about all the tools that are just layered abstractions one on top of each other. good to know im not the only one who sees it that way.
idk its faster to ship and iterate so why not? tech stacks are part of coding, web has deeper stacks bc its the most used and needs to meet a lot of different requirements. a framework does the work of figuring out the right degree of modularity and separation of concerns, it gives you a way to look at a project that could otherwise be completely undoable with resource constraints
Tbh it's absolutely the same in the backend / devops world. Almost none of the libs, tools or frameworks I used 10 years ago are still available or a good idea due to continue using. Only language itself prevails but that doesn't mean much because it also changed.
I'm new in programming. And no mater that I was born in 81 and wrote my first linea in Basic on Atari 65 XE. That haven't been more then a few simple programs. Later in 2010's I was doing some VBS coding. Recently I've been learning JavaScript, PHP, HTML+CSS. I've build my first site for myself witch is a base of recipes that I like. Also I've created a function in JS that changes data in table into nested objects, which is used as a input data for other cool JS tool dynamically drawing interactive org chart. These was fun and useful for me and I've learnt alot whit it.
I struggle with the insanity of JS nowadays. On one hand I wish it were significantly simpler (even the build chains make we want to become a farmer), but on the other hand I recognize the power of JS frameworks when it comes to building rich user experiences. Nowadays user experience sells, even if the products themselves are fairly simple.
I've been doing webdev for about a year and I don't feel like a programmer, I feel like a customer of the company with the programs I use, programs written by programmers
I made Snake in React as a "just make something" project. I thought I didn't want to use React since im a Chad standard web components kinda guy, but it was actually a good learning experience.
I'm a JS dev with 15+ years experience. I rolled my own auth back in the day. The problem these days is (team) scale and people outside your scope. You ever tell a seccy with a scanning tool that their flag has no access to anything? Throw in a client that has a contract with security assurances rolled into it (which in reality are mostly just box ticks and have no real world significance, but they can see a red X.) In short I too understand why Clerk and oAuth are necessary :)
Hot take I would rather go to a job with old technology but reliable, good documentation and community. Than a job which is unfamiliar with the technology they use. The one of problem with JS is that everyone wants to be the next innovator.
As a new person in JavaScript, not going to lie realizing the landscape of JavaScript and trying to catch up…. I’m tired. Trying to learn it all is making me insane. Almost want to give up before I even start smh.
I don't think JS is a problem. Whenever something gets popular, people try to capitalize on that and create hundreds of similar tools and frameworks to appeal to the people. Your goal as a developer is to be focused on delivering the product. In corporate world, you will be forced to use tools that you would not like - this is why you always must keep your head clean by creating your own projects if your goal to escape corporate world.
"It's shocking how many things have to go into this, to make an application." Yeah. Exactly. It's truly awful, immature, and expensive. These kids ignored 60 years of experience and evolution of best practices, thinking they could invent a better system despite having no real experience in the real world or industry. The arrogance alone is incredible; and speaks to the ego and the disrespect of experienced elder professionals that this generation seems to have. Unfortunately, it will only be to the detriment of their careers (thinking over the medium and long term) and also making things more complex, difficult and frustrating for the next generation. It's a shame what has been happening to what was a beautiful, creative, inventive, logical, highly valuable art form that those of us who are mid- and late-career, thankfully, at least, got the opportunity to experience it for a good while, and now can remember it fondly and with sympathy for the next gen. ❤
Hot take: "Once you know everything, it is easy"
Well, i could see that "solving the problem" is the hard part, once the problem is no longer hard then you just have to type the logic out. There are plenty of people where using arrays are hard, but once you know how arrays work it's trivial.
It becomes irrelevant since you know you can build anything with what you currently use anyway.
Once you know the tool well, then you know that everything is yet another permutation of abstraction on the same base JS language.
If I need to write a complex UI in plain JS, then I can happily do that as well, I used to output thousands of lines of that thing.
0 kelvin
IDK man it looks like a very big iceberg
aka "skill issues" :D
"2024 is the year of serverlesslessness" - died
Me one month ago: *receives project plan to migrate prod DBs back on-prem 14 months after cloud migration*
@@MrSuperawesome5000cost killing you?
“How do you get a Javascript piece of code under 1MB?” The fact that this a real question that people actually have to ask hurts my feelings.
No wonder websites and browser caches are bloated if you need over 1 MB for each website. For a lot of projects and sites you could fit well within 1 MB with both backend, frontend and all styling.
@@jan.tichavskyreal
If you want to do that, then you raw dawg some plain JS. I used to write thousands of line of that thing and it was still tiny.
Or at most react with no other dependencies, those can be painful.
@@jan.tichavsky what is runtime?
@@Leonhart_93 You know whats most infuriating? It's when you see something like jQuery or something being used to do the most trivial s**t ever, and the only reason it's used is because a) it was the first thing that came up on Google and b) the person has little clue about Vanilla JS and the DOM... It's a new version of Cargo cult programming, but now instead of including something that does nothing, you include something for every little piece of work that needs to be done.
"Push on save" got me good 😭
didn't know the mad villain was in chat ✊
@@jameslund6781 RIP DOOM and dont forget ALL CAPS when you spell the man name
I push before I save.
I realized after returning home from a three week cross-country driving journey that I needed to organize my tasks, but my kanban instance has been broken for a few months, so I thought "I should make some kind of app". Then I realized that I didn't have 20 hours to spare before getting shit done, so I thought "I should just use an Android to-do app". But then I realized that fixing my phone was one of the tasks and might involve a data wipe, so a to-do app would not work (and besides, they all suck). Finally, I had an epiphany: I grabbed a piece of paper and a pen.
This mental clarity would not have been possible had I not given up writing JavaScript.
ah yes
the P&P (pen and paper) stack
@@nikolaygruychev2504flexing the PP stack on these hoes
Just use Trello?
@@georgehelyar I needed something portable that did not rely upon my phone. Trello would not work.
But what if you want to view the paper at your pc and on your phone at the same time?
13:00 "don't write this down, next week this is all going to change" had me spit my coffee out. Lmao!
Idk but the T3 stack sounds pretty good to me
T3 > T4
It’s time for the T5 stack Theolo
@@LaughableTundra T5 launching in T minus 5, 4, 3, ...
Sounds... unbiased
T3-3 stack. The extra 3 is for Summer.js, Spring.js, and Autumn.js.
Who needs Winter.js? 🤢🤮
The JS ecosystem gives me so much PTSD that if I see a json file I just rename it to .lua
Or yaml lol
@@blackace72 Or toml. I use Rust now btw. 😉
Rofl
haha!
or .plist
I will admit that I googled a bunch of the things he mentioned, mostly because a part of me didn't believe that some of them were actually real. I then realized that I honestly had no interest in using any of them or really reading the docs for curiosity's sake, closed the browser tab, and moved on....
an afternoon well spent
it's all real 😢
@@ThePrimeTimeagen We're using them all, pretty much. Even as a Junior, I'm familiar with most of these names. Not saying I'm enjoying it, truth to be told
Javascript people are now not just frogs, but fully cooked in the sauce it seems.
So, sincerely asking what's the solution? Switch to Go ?
@@mazharansari7813 concrete answers always require context. but typescript exists, and is almost always preferable to raw JS.
@@mazharansari7813 Rust and compile to webassembly. :)
@@blarghblargh Typescript isn't a replacement for JS it's just an overlay for type checking lol
@@mazharansari7813 the solution is to never listen to webdevs, they're compromised
"You've heard of 8 minute abs? Well heres my idea: 7 minute abs!"
Thats what the t3/t4 stacks immediately made me think of
I am embedded systems engineer and my new hobby is web apps. At work, I debug very low level issues, designing my own graphics pixel by pixel, etc...
For my hobby project I use JS, React and Strapi. All I do in that project so far is to read documentation and figure out how to plug in things, what library to use, etc...
I have fun, but I feel similar to 10 years ago when I was just using Arduino libraries, very far from knowing why it is the way it is.
Love the take towards the end of the video. Just do what keeps you coming back.
Very good advice. I've been building a project for the past three years.
Sticking with it consistently has changed who I am so much that I can't even begin to compare what I knew starting out to what I've experienced in these years. I used to leave a lot of projects unfinished, jumping on many different tangents. But once I stuck to this particular passion project, it really started to pay off. (By the way, the project will soon go public and hit v1.0.0!)
@yektadev What's the project?
ligmatron.js framework
We need to make ligma.js as the final JS Framework.
Ligma is the best!
ligma what ?
It would never work, somebody would fork their sugma.js from it in the space of a week
Job Requires: 10+ years of ligma.js and vanilla ligma.js
Pronounced "ligma jiss"
I love this real talk vs the internet plus positive vibes vibe thanks the primeagen!
I just find it fascinating that every single new JS framework is always just compromised in some way. Like, it works all good, but then you encounter your first "bubble gum solution" the framework has to use to do its thing. Then another. Then another.
So much of JS libraries feel extremely hacky and like they're going to explode any second.
That's exactly a problem with an open source environment where everyone thinks "I can do better", instead of consolidating.
@@Leonhart_93 Yes /kinda e.g the npm has nobody who really looks and kicks out trivial implementation and then every one reference this implementation and then in the next iteration everyone creates their own packet manger which makes dependency hell worse. Its just so since roughly around 2008 web development is a buzzword and marketing circus unlike any other software development . Web development had since then the tone of that some devs want to cave out their own space in it with tools , frameworks and so on Open source make this very easy . Why they doing this ? Because a LAMP stack even a highschooler can use and would be for more then 90% of the internet good enough. Even Wikipedia one of the most visited sides still runs on it
This is the perfect analogy lol. But dam…how do you make a fast, optimized websites for people with MBAs that think websites are magic lol? You really don’t have a choice but to make a glass cannon website held together with some gum unless it’s your own website.
To anyone looking to role their own auth, there’s an amazing chapter in “Let’s Go” that details how one would go about it using Go. After reading the chapter Auth just made sense and it’s no longer scary.
learning how stuff works is always a very good thing to do.
be careful not to fall into the noob trap afterwards of rolling your own auth in production.
"Push on save" - a new mantra for me.
For behavioral interviews, I started making everything up. It felt glorious
Really appreciate the reflection at the end. Very often I get the urge to really try to learn and know about everything in the dev world... and I forget that it's just as imposible as useless.
Yeah just learn the layers that all of the web stands on. Things like how the server and the client communicates, what is a runtime, HTTP, SSL, what's the role of the bundler etc. and you're golden!
The analogy of the boiling frog is perfect. To try to combat this I have been learning how to build website/apps limiting myself to tech that was available at a certain time period and progressively adding newer and newer technologies. Hopefully this will help me understand the "why" of each abstraction layer that has been added over the years.
Amazing advice. I’m a senior CS student and have been doing web dev on my own for around 8 months now. Abstraction will hurt you if you don’t know what is going on behind the scenes
I dunno, I just use Laravel. It has everything I might need. I just upgraded my projects from v10 to v11 and it took under half an hour.
How many thousands of files do you start with on an empty project? I have just a dozen myself.
@@jan.tichavsky In the new v11 skeleton, very few.
@@jan.tichavsky That's why newer versions of Laravel are moving towards a "batteries are opt-in and not included by default" type of approach. I am not sure if this is already the case in version 11 or if it will come in a later version. But Taylor Otwell already said that this is their goal.
@@Voidstroyer it is. 11 even removed api routing together with sanctum
Backwards compatibility and maintenance is so underrated. Though I hate wordpress backwards compatibility is what they do right. You rarely have to change your plugin just because of a new Wordpress version. Laravel does it right as well.
"Dont write this down, next week all this will change. " 😅 this got me
Dammit, when I saw the title I thought you actually interviewed the guy, which would have been amazing. Imagine Prime interviewing him while he remains in his character as js dev, that would be top content right there
"Support any database...If you know how to write the adapter". That made me laugh lol
"Prisma blocks the package, just like this companies HR Dept." 😂
The solution is simple. Almost painfully so. Just use the same tools you have been using for the past few years. They work just fine, nothing is all that better or worse about other new stuff.
The language is the same, everyone just adds their own flavor of abstraction on top. Ignore everything new and shiny, they just distract you from mastery.
If you use any npm package over a week old you get a million CVEs reported though. If you use the new ones the vulnerabilities still exist but they haven't had time to get reported yet so you can make snyk stfu for a few minutes.
@@georgehelyar I was talking about frontend JS, the framework craze is about frontend. And there aren't significant security concerns when designing an UI, all of that depends on the requests themselves which can be a completely separate matter.
For frontend I like to go as pure as possible, the more bloat you add, the more that bundle size increases needlessly.
@@Leonhart_93my comment was mostly a joke, but actually if you use a security scanner like snyk, the number of CVEs you get in modern frontend is insane, because a hello world app is hundreds/thousands of packages. The joke was that it's basically impossible to get rid of them all but if you keep updating you can keep ahead of the scanner.
Or just use jQuery or vanilla JS (or wasm)
My environment uses JS ES5, has no way to import stuff from repositories (unless I wrote an npm client in the system and implemented my own include system), and is barely capable of importing scripts from its own window. It's mostly okay to use, except I keep having to check whether the solutions mentioned on SO are old enough to be supported on ES5. And all the answers assume a browser, my environment is a test and measurement automation system.
Beats doing the tests by hand.
try picom for screen tearing?
that will never happen lul
he will switch to sway in February 2022
I can't believe he's not able to sort tearing out in the longest time. It's not that hard, just read the Arch Wiki, all the info is there, and work even on non Arch based distros.
"don't write this down it's all going to change next week anyways"
I find it funny but understandable how shortly after the quip about chat's views on Sentry, I get a Sentry ad.
His monologue at the end is 100% correct. Literally got my current job by talking about a crappy hardware project I was working on to solve something in my life, nothing to do with the software job the interview was for.
I once sat in a meeting with the Senior and Lead once. They were planning for a new project and they were discussing all these new technologies that I haven’t even heard of and some which I heard but haven’t used. Suffice to say, I was sitting there staring blankly at the whiteboard. I have never felt that out of place ever 😂
I've been waiting for another one of these since you reacted to the first one!
when i started programming, i thought I was goin to have my head down while typing out php or javascript to create websites. now, its more about picking the right package/framework and managing dependencies and breaking changes and working around package limitations. for reference, I learned on LAMP stack, then learned MERN.
Javascript is easy to ship under 1MB on the edge thanks to tools like webpack and esbuild. Split every route of your API into its own bundle and they sit around 500kb
Missed the live, was authoring t5
What does the "t" stand for in t5?
@@budkinThor
'i wasted a bunch of time reinventing the wheel and why you should too'
zustand is real. We use it for work and I thought it was made up too. Apparently it's just German
just means "state", as in application state.
can confirm, it's just the German word for state (only this kind of state, not a nation-state)
That name is so meta 😂
It can also mean 'a (not insignificant) mess', or a deteriorated mental state. Make of this information what you will.
@@dragons_advocate Yes it can also mean that something was never meant to last 🤓 like in the video
Link to video in description leads to wrong one (2 years ago, not the 2024 version)
“We push on save” is my spirit process
My favourite thing is getting interviewed by a junior dev that bluffed their way into a lead role at a startup and gets excited to show off their technology-specific trivia questions only to be shocked at getting “i dont care” as a response to the questions lol
1st world JavaScript problem.
Back in Soviet Russia ...
Ahem back in Kenya, it does not matter how easy clerk, vercel so long as however is paying sees > $3
You got to make it work in a shared hosting plan , which in my experience, you roll out your own everything cause external libraries are not compatible with the Node env in cPanel
But sadly the delusion from the west has crept into the east, had an internal who literally asked paraphrasing.. "How do you deploy without Vercel & do auth without next auth? Can't we convince the client to pay for Vercel?" I'm happy to report that we had a lengthy the talk about ssh, scp, ftp, pm2, cookies & sessions etc etc
I'll have to put a good share of blame to code camps where in 6 months you graduate as a senior developer with dollar signs on your eyes.
What every interviewer wants to see: Passion
I would love to see Oauth done from scratch in these 50 lines of code. Not that I doubt that it can be done, I think it could be done but I've never worked in an environment where that was even an option. I think it would be cool basically.
Why 50 lines of code? Just do it in 200 and do it better.
Depends what you mean by doing oauth.
Go to authorize URL then get code and go to token URL is pretty easy, but you need a server to actually do the hard part. Fortunately, that server can just be any oauth provider e.g. Microsoft or Google, and then you don't have to store passwords etc either.
@georgehelyar Pfft, first they have to show that there is ANY chance in hell they can replace even the bottom feeder devs. Nothing, and I mean nothing of what they've shown currently is capable of even touching 5% of that, everything is so very bad when they need to handle more than 10 lines of code at once.
They didn’t teach me this in the boot camp
Finding something you actually want to make is the best advice you can get for learning and just coding daily.
For getting a job, the thing you want to make should demonstrate your abilities to solve business problems. Since that's what they're hiring you for. If what you want to make also does that, best of both worlds.
But if you're just learning or having fun, don't worry about that. Making a portfolio of projects the solve business problems is like lifting for a competition. Building projects to learn or have fun is lifting to be healthy. You do it differently for different purposes.
What happens at a job is often also different of what job post states and recruiter checks.
If I drink beer today. It will make me go back to it the day after.
re: rolling your own auth -- I did the same when I was just a hobbyist. Not hard at all, and I'd rather spend time learning the fundamentals than the idiosyncracies of some service like cognito.
Whoops, you rolled everything yourself and now your service is vulnerable to timing attacks.
@@godowskygodowsky1155 accounted for.
I get the perspective, and in mission-critical software, yeah -- know what you're doing or be safe. But you don't get to know what you're doing without doing it, and I'm not a fan of relying on a few people maintaining all the world's implementations of a simple thing any programmer can learn.
Like, even form inputs... My client got cheap labor knowing I was green, and I got to figure out how to implement forms and fight spammers. I made honeypot submit buttons, wrote a pretty effective spam filter, and integrated captchas. It's not the best, but it works for that implementation. And you know what? It doesn't seem like magic anymore.
The "Don't write this down, it will be different next week" ten minutes into this insanity was so amazing.
It is at times like this I am happy I am a C dev professionally. We just upgraded to C23 at work. With that we got like 4 new really cool things (some of which I had already learned to love from coding Zig in my free time), and like 2 interesting things that I am not sure what I think about yet. That is it for like 10 years. Then we just go ahead and write software (and try not to create any memory issues or UB, I know I know...).
The best way to write C is to write it in sex-pressions use LISP macros with quasiquoting to generate your C code and then if anyone gets suspicious show them the C-code derived from S-expression tree. Also the next best way is to write code in say Python/c#, and then run a Python -> C cross compiler, as you can edit your program while its still running in Python.
without a diagram just a simple list of the stack of ~5 or so libraries is pretty great. and the miracle is theyre all mostly interopable with each other
No matter what people say, reinventing wheels is lot's of fun and a great way to truly learn fundamental concepts.
that analogy with the boiled frog is exactly how i described it as an SRE talking about all the tools that are just layered abstractions one on top of each other. good to know im not the only one who sees it that way.
Thanks Prime, every time I saw you, I learned something new :))
idk its faster to ship and iterate so why not? tech stacks are part of coding, web has deeper stacks bc its the most used and needs to meet a lot of different requirements. a framework does the work of figuring out the right degree of modularity and separation of concerns, it gives you a way to look at a project that could otherwise be completely undoable with resource constraints
Tbh it's absolutely the same in the backend / devops world. Almost none of the libs, tools or frameworks I used 10 years ago are still available or a good idea due to continue using. Only language itself prevails but that doesn't mean much because it also changed.
I implemented OAuth 2.0 with Authorization Grant flow, for our company and it turned out all right,! No third part libraries or services
I've been learning JS, React and Typescript and I have no idea what they're talking about. I'm scared.
Man I'm still waiting for the drizzle docs xD
My god this is exactly my life as a dev and I have only been working like three months in the industry. Like EXACTLY my life.
Serverlesslessness - brilliant! In reality, loads of job descriptions require frameworks first and then language knowledge.
I'm new in programming. And no mater that I was born in 81 and wrote my first linea in Basic on Atari 65 XE. That haven't been more then a few simple programs. Later in 2010's I was doing some VBS coding. Recently I've been learning JavaScript, PHP, HTML+CSS. I've build my first site for myself witch is a base of recipes that I like. Also I've created a function in JS that changes data in table into nested objects, which is used as a input data for other cool JS tool dynamically drawing interactive org chart. These was fun and useful for me and I've learnt alot whit it.
I struggle with the insanity of JS nowadays. On one hand I wish it were significantly simpler (even the build chains make we want to become a farmer), but on the other hand I recognize the power of JS frameworks when it comes to building rich user experiences. Nowadays user experience sells, even if the products themselves are fairly simple.
That open ID! and LDAP and username and password! omg!
I've been doing webdev for about a year and I don't feel like a programmer, I feel like a customer of the company with the programs I use, programs written by programmers
100% agree on understanding the protocol before using the first library you see
Especially since there are now so many implementations
Your zero user will scale amazingly. Badebooom!
This outro was refreshing to hear. Android/Kotlin dev here.
Watching this makes me happy I do not have to work with Javascript.
"get the oauth library".. me: he talkin about fetch?
I made Snake in React as a "just make something" project. I thought I didn't want to use React since im a Chad standard web components kinda guy, but it was actually a good learning experience.
Thank you my good Sir for the eye-opening advices at the end of your video ❤
The "serverlesslessness" always kills me lmao
I started on Visual Basic, modifying the Snake game. I probably never would have gotten into programming if this was thrown at me.
I'm a JS dev with 15+ years experience. I rolled my own auth back in the day. The problem these days is (team) scale and people outside your scope. You ever tell a seccy with a scanning tool that their flag has no access to anything? Throw in a client that has a contract with security assurances rolled into it (which in reality are mostly just box ticks and have no real world significance, but they can see a red X.)
In short I too understand why Clerk and oAuth are necessary :)
Isn’t the danger with rolling your own user/password auth really subtle bugs? Things like timing attacks and stuff like that?
And the name is
passionless interviewagen
Was really hoping the end would be “The sigh-agen”
Kai's recent interviews with actual founders are brilliant. Highly recommended.
javascript wasn't the exact reason why i quit programming after just a year in the industry, but it easily could have been.
Thank god I did not took the JS/TS route when I was choosing between JS/TS and Python
dude I'm pretty sure that's the wework in Berlin Mitte
Makes me wonder with all the fast paced everchanging languages and frameworks: Is it that way to filter away the people who can't keep up?
Hot take
I would rather go to a job with old technology but reliable, good documentation and community.
Than a job which is unfamiliar with the technology they use.
The one of problem with JS is that everyone wants to be the next innovator.
Prime is hands down the best motivational speaker. Period.
The courage to reject the insanity of FE and just build something that works is the best indicator of competence when I review resumes.
As a new person in JavaScript, not going to lie realizing the landscape of JavaScript and trying to catch up…. I’m tired. Trying to learn it all is making me insane. Almost want to give up before I even start smh.
lol the end xD conflict .. solved .. struggle ..
Declaring a variable
Js dev: lets install another npm package
Primes take at 20:00 was spot on. The last 2 jobs I've worked within the last 4 years both ran .NET 4 + jQuery.
best of both worlds, thought the non programming person in charge humming the hanna montana inteo song
I laughed SO hard at the SATAN pentagram reveal!!!
Comment rolled by on Chat: build a ToDo app to track building ToDo apps 🤣🤣
Prime didn't even notice the pentagram
That’s was the build-up to SATAN stack. The dEvil is in the details.
yes except when he did
C/C++ devs: we do everything by ourselves 🗿
I don't think JS is a problem. Whenever something gets popular, people try to capitalize on that and create hundreds of similar tools and frameworks to appeal to the people. Your goal as a developer is to be focused on delivering the product. In corporate world, you will be forced to use tools that you would not like - this is why you always must keep your head clean by creating your own projects if your goal to escape corporate world.
Mootools! This is how you tell a person is OG haha.😊
As Theo himself says a lot: Just build shit.
"It's shocking how many things have to go into this, to make an application."
Yeah. Exactly. It's truly awful, immature, and expensive. These kids ignored 60 years of experience and evolution of best practices, thinking they could invent a better system despite having no real experience in the real world or industry. The arrogance alone is incredible; and speaks to the ego and the disrespect of experienced elder professionals that this generation seems to have.
Unfortunately, it will only be to the detriment of their careers (thinking over the medium and long term) and also making things more complex, difficult and frustrating for the next generation.
It's a shame what has been happening to what was a beautiful, creative, inventive, logical, highly valuable art form that those of us who are mid- and late-career, thankfully, at least, got the opportunity to experience it for a good while, and now can remember it fondly and with sympathy for the next gen. ❤