Wisdom From Linus | Prime Reacts

  Переглядів 353,690

ThePrimeTime

ThePrimeTime

3 місяці тому

Recorded live on twitch, GET IN
/ theprimeagen
Become a backend engineer. Its my favorite site
boot.dev/?promo=PRIMEYT
This is also the best way to support me is to support yourself becoming a better backend engineer.
Reviewed excerpt: lkml.iu.edu/hypermail/linux/k...
By: Linus Torvalds
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-Kinesis
Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
turso.tech/deeznuts

КОМЕНТАРІ: 881
@ThePrimeTimeagen
@ThePrimeTimeagen 3 місяці тому
For all of those asking "Why is hair blue?" I LOST A BET AND I AM A MAN OF MY WORD NO MATTER HOW STUPID I FEEL
@user-lz2oh9zz4y
@user-lz2oh9zz4y 3 місяці тому
way worse if it were green
@MrAvocadoMan
@MrAvocadoMan 3 місяці тому
thats a man of integrity
@onred_
@onred_ 3 місяці тому
But what would you have gotten if you won?
@666ILIKECAKE
@666ILIKECAKE 3 місяці тому
It works, keep it :D
@engineeranonymous
@engineeranonymous 3 місяці тому
Respect
@gala_vs
@gala_vs 3 місяці тому
biblically accurate rust dev
@lonelywanderer2467
@lonelywanderer2467 3 місяці тому
underrated comment bhahaha
@akhilbisht798
@akhilbisht798 3 місяці тому
🤣
@nholms
@nholms 3 місяці тому
What would Linus do? WWLD?
@ninocraft1
@ninocraft1 3 місяці тому
hahaha, gottem good
@coolhologramkid
@coolhologramkid 3 місяці тому
Programmers are also humans, has a video on Sr. rust dev. the dev also has blue hair.🤣🤣 ukposts.info/have/v-deo/jHeXhatnmYeFrJc.html
@DCCXXV
@DCCXXV 3 місяці тому
Nice senior rust dev hair
@RiwenX
@RiwenX 3 місяці тому
🤣🤣🤣
@TheHighborn
@TheHighborn 3 місяці тому
can't be one. He's not in a fur suit
@_Lumiere_
@_Lumiere_ 3 місяці тому
It's part of the new Netflix uniform requirements
@jerichaux9219
@jerichaux9219 3 місяці тому
@@_Lumiere_Either that or he has to personally go to Skid Row and greenlight a series pitched by a homeless drug addict.
@riigel
@riigel 3 місяці тому
😂😂😂😂😂
@tacklemcclean
@tacklemcclean 3 місяці тому
That hair, telltale sign of entering the next phase of his furry arc
@CallMeMSL
@CallMeMSL 3 місяці тому
Arc
@christophwinkler1655
@christophwinkler1655 3 місяці тому
Trying so hard to pretend that he is not DrDisrespect
@hasan_haja
@hasan_haja 3 місяці тому
@@CallMeMSL Arc
@yeetdeets
@yeetdeets 3 місяці тому
I find it really jarring for some reason. I can't look at it too long, or I find it disturbing.
@ninocraft1
@ninocraft1 3 місяці тому
​@@yeetdeetsit is, maybe its just the autism speaking xD
@batatanna
@batatanna 3 місяці тому
therapist: Blue hair primeagen doesn't exist blue hair primeagen:
@DaliPose
@DaliPose 3 місяці тому
Rust may make iron red but it makes programmers blue.
@Tony-mw-533
@Tony-mw-533 3 місяці тому
He was like "hold my beer"
@private_account407
@private_account407 3 місяці тому
primeagen isn't being treated by a therapist. the therapist is being treated by primaeagean
@batatanna
@batatanna 3 місяці тому
@@private_account407 thats not how this meme works but ok
@Alan-ru5cg
@Alan-ru5cg 3 місяці тому
@ycombinator765
@ycombinator765 3 місяці тому
My biggest takeaway as a junior developer who is getting into real stuff. You dont have to solve every problem by creating a new abstraction, because not every problem is worth solving. - ThePrimeagen I love this. Thanks
@doc8527
@doc8527 3 місяці тому
Also for all level of engineers. If you are not clear about the domain of a specific functions. Copy & Paste that function for your own usage with modification and clear out all the unrelated stuff is totally fine, it doesn't violate the DRY principle. Don't try to reuse everything, please. I have a hard hard hard time to watch people are arguing about DRY and Copy&Paste
@XDarkGreyX
@XDarkGreyX 3 місяці тому
Yeah, i have stopped myself a many times.... but a reminder is always helpful
@user-yf5wt2so2d
@user-yf5wt2so2d 3 місяці тому
YAGNI! You ain't gonna need it :-)
@Spoonbringer
@Spoonbringer 3 місяці тому
Software developers like to be clever. Once your cleverness gets you in trouble a few times you'll learn to prioritize simplicity and maintainability.
@bike4aday
@bike4aday 3 місяці тому
It's easier to write 5 lines of code 3 times than to write 50 lines of code to abstract those 5 lines and then share those 50 as a dependency in 3 projects that has to be maintained and documented for 20 years
@michaelslattery3050
@michaelslattery3050 3 місяці тому
An experienced co-worker used to say: "you write it, you own it" and "Who's going to own it?". He would say this whenever someone would suggest a new tool or wrapper.
@ferinzz
@ferinzz 2 місяці тому
Yes! Someone built a cheat sheet thing for... mostly another team. I haven't used it. I'm not sure who has used it and I'm not sure who has kept the info in there updated, if they ever did. He's no longer with the company, so now it's with another team who is just maintaining it.
@SXZ-dev
@SXZ-dev 7 днів тому
Then the communist co-worker says "i don't believe in private property" 😂
@Blaisem
@Blaisem 4 дні тому
And then the person who wrote/owns it leaves the company
@nicholaswillhite5888
@nicholaswillhite5888 3 місяці тому
The opposite of DRY (don't repeat yourself) is WET (we enjoy typing) :D
@dfcx1
@dfcx1 3 місяці тому
This is why it's bad to have too nice a keyboard
@HansBezemer
@HansBezemer 3 місяці тому
That's why the best programmers are lazy by default. We spend the extra effort to make a routine atomic, so we can make it into a module. That way we can just pull it in instead of having to write the whole darn thing again.
@mr-boo
@mr-boo 2 місяці тому
I have learned that WET = Write Everything Twice; The heuristic being that you need at least three instances in order for an abstraction to be merited. It's not a perfect heuristic, but it's worth to keep in mind.
@Finkelfunk
@Finkelfunk 3 місяці тому
The even more funny thing: The guy who committed the change is a software engineer at Google and later admitted he actually did not understand what the function does or why it is important in detail.
@electrolyteorb
@electrolyteorb 3 місяці тому
All in all, he f**ked up in the best way possible
@BeniaminSandu
@BeniaminSandu 3 місяці тому
Thats not some random engineer at Google, he is one of the oldest kernel developers, a very known guy (speaks at conferences, part of Linux advisories boards, etc), and did most of the work for ftrace framework (IIRC). Which makes this thing kind of funny and awkward.
@dealloc
@dealloc 3 місяці тому
Steven is not some random Google engineer. By Steven's own words; "tl;dr; Google had very little to do with the email thread. I didn't copy a function that I didn't understand but it was overkill for my use case which is why Linus said I didn't understand it. Linus was having a bad week when a bug report came in on my code." There's a longer comment on TheRegister explaining everything from his start as a kernel developer, building file systems, to the issue at hand and a more in-depth explanation of what happened.
@31redorange08
@31redorange08 3 місяці тому
Why lie?
@Evan-dh5oq
@Evan-dh5oq 3 місяці тому
​@@deallocWeird to take Steven's words at face value while not taking Linus's
@petrus4
@petrus4 3 місяці тому
Linus' two areas of proficiency are kernel development, and delivery of what TVTropes defines as the "The Reason You Suck speech."
@georgerogers1166
@georgerogers1166 3 місяці тому
The two requirements for a BDFL.
@thule1823
@thule1823 2 місяці тому
God bless Linus.
@Blaisem
@Blaisem 4 дні тому
Also made git
@dromedda6810
@dromedda6810 3 місяці тому
prime is about to start wearing thigh highs, and run arch
@ninocraft1
@ninocraft1 3 місяці тому
on his way to buy programming socks, software development is an equipment sport
@youkenez
@youkenez 3 місяці тому
I like how polite and thoughtful Linus is there when he writes "*' in place of the "u". Anyway, I'd start using copilot if they upload a Linus agent, I need that.
@3lH4ck3rC0mf0r7
@3lH4ck3rC0mf0r7 2 місяці тому
Don't let your memes be dreams. Train your own language model on aggro Linus emails.
@thekwoka4707
@thekwoka4707 3 місяці тому
"I have a video where I read an article about it"....peak reactor
@joestevenson5568
@joestevenson5568 3 місяці тому
A prime reactor, even
@papsanlysenko5232
@papsanlysenko5232 3 місяці тому
​@@joestevenson5568prime reactor can not be even unless it's a 2
@supernova5434
@supernova5434 3 місяці тому
@@papsanlysenko5232A prime reactor, odd
@timetraveler0002
@timetraveler0002 3 місяці тому
@@joestevenson5568 nuclear reactor
@titos2k
@titos2k 2 місяці тому
speaking of wrappers huh
@zacharythomasrobertson8471
@zacharythomasrobertson8471 3 місяці тому
I can assure you my 20+ files of extensive boilerplate designed to track div toggle events are not garbage.
@ThePrimeTimeagen
@ThePrimeTimeagen 3 місяці тому
i just wouldn't understand engineering (real engineering)
@flyguy8791
@flyguy8791 3 місяці тому
This is something that happens all of the time at work for me too, where I continuously question "why did we make this so complicated" and the XY problem constantly comes up and haunts us! Definitely going to check your other videos on that. Ugh, with all rules in webdev - the rules like "DRY" are always "as needed" because you will inevitably end up over abstracting (or abstracting too early). Thanks for talking about the damage and impact this has had overall on a higher level!
@sez5435
@sez5435 3 місяці тому
Most calm Finnish person…
@Takyodor2
@Takyodor2 3 місяці тому
*Perkele*
@lifelover69
@lifelover69 3 місяці тому
Finland mentioned, torilla tavataan!
@topiuusi-seppa5277
@topiuusi-seppa5277 Місяць тому
The Swedes knew what they were talking about when they coined the term "Management by Perkele" to describe Finnish managers 😄 I suppose Linus managed to find just about the only niche where that style KINDA works. Anywhere else it's only harmful to everyone involved 😅
@danielgulyas2575
@danielgulyas2575 3 місяці тому
>wrap an already well known tool with their own tool because it helps shorcut some basic common usages i do that all the time, it's called a Makefile
@freasses
@freasses 3 місяці тому
Cmake 🤣
@samuelwaller4924
@samuelwaller4924 3 місяці тому
@@freasses ffs no. literally the definition of overcomplicating things
@mkvalor
@mkvalor 3 місяці тому
Such good continued exposure for the X/Y Problem. Well done!
@mx2000
@mx2000 3 місяці тому
I agree, so much. Fighting this every day. I especially love it when teams create wrappers around APIs from other teams (not external, just another department), because, you know, maybe we want to change it at some point in the future. The more extreme version is the wrapper service, whose only purpose to map objects from a naming convention someone else invented to hour own naming convention. Add the microservices paradigms into the mix and you end up with a codebase that is 50% just wrapping and mapping.
@oblivion_2852
@oblivion_2852 3 місяці тому
A significant portion of all computing is just generating and parsing json
@darekmistrz4364
@darekmistrz4364 3 місяці тому
@@oblivion_2852 That is trully horrifying. Probably in the same order of magnitude of power usage compared to crypto mining
@kevinkkirimii
@kevinkkirimii 3 місяці тому
It was an interesting thread to read, I appreciate the direct confrontation. There's a lot of maturity in this project.
@Blaisem
@Blaisem 4 дні тому
That was anything but mature from Linus lol. He ranted in his face for several paragraphs. He could have shut him down in 10 sentences tops and still done it via direct confrontation. Basically Linus went beyond shutting him down and bullied/intimidated him, as you can see from the other person's meek reply that Prime skipped over. Classic Linus, still toxic.
@kevinkkirimii
@kevinkkirimii 4 дні тому
@@Blaisem Read the whole thread, not what prime is just reacting to, understand the genesis of that conversation and you'll see why I came to that conclusion. Open source projects are hectic and repeated pull requests can be annoying, especially if they have the same issues re-occurring .
@hackermanreal
@hackermanreal 3 місяці тому
he's delving deeper into rust...
@muhammadhafizuddin2965
@muhammadhafizuddin2965 3 місяці тому
Hii prime, just wanna say after i started watching you, i started to learn my environment. No im proud to say, im a neovim user, with all config i wrote from scratch after learning your video. Thanks so much man, you are like one of my idols ik programming world. Kinda crazy, but also crazy genius and passionate about programming. Btw, im from malaysia, small country in south east asia. Soo, ❤ from malaysia primeagen !!
@acetributon
@acetributon 3 місяці тому
Yay 5 minutes after post! Can't wait to actually get into it!
@daniel85mg
@daniel85mg 3 місяці тому
I'm worried what's gonna happen to the Kernel once Linus (fully)retires...
@maximofernandez196
@maximofernandez196 3 місяці тому
I hope he finds someone just like him
@vilian9185
@vilian9185 3 місяці тому
greg is there lol
@RicardoSilvaTripcall
@RicardoSilvaTripcall 3 місяці тому
Looking at the Linux community today, once Linus retires, the whole thing is doomed ...
@AdamPippert
@AdamPippert 3 місяці тому
Random fact: I bought a car at an estate sale from Linus’s neighbor once. The only reason I knew it was his house is because he used to drive this obnoxious yellow Mercedes with ‘LINUX’ on the license plate, and I saw it nearby. Also, we were friends in Google+, and I feel like that should count for something.
@TheJeremyKentBGross
@TheJeremyKentBGross 3 місяці тому
A LOT of things in civilization only work because of the people who built them, or at least people who continued to have the same or similar standards of behavior, competence etc as those that did. Once that all goes away, everything falls apart. Tbh, as critical as Linux is, it looks like just the tip of the iceberg, or but one example case, atm.
@n3r0z3r0
@n3r0z3r0 2 місяці тому
This is really key argument, thanks for sharing.
@MarstonConner
@MarstonConner 3 місяці тому
I am newish to software development but I have been in Tech for just shy of a decade. The issue I see a lot when people copy something they don't understand or they repeat certain patterns that are not optimal is time. A lot of people are afraid to take that extra step to learn the "Why's" of something because they may not "Feel" like they have the time to do so on a project, in a corporate setting. You should never have this issue on your own projects at home, take the time to learn! I am certainly guilty of this and I trying to get better with each new problem/project because I have found this to only hurt me in the long run.
@christopheriman4921
@christopheriman4921 3 місяці тому
I literally went from trying to program games in java for a month or two to programming in C++ and trying to program game engines to then finding a game about making a turing complete computer and doing so to programming in Rust some other higher level things than that to finally what I am working on more actively right now which is learning about how operating systems work and trying to make one written completely in Rust without having to use assembly, I already know how annoying assembly is to program with because of the game previously mentioned and for the life of me I can't remember the conventions people have come up with for their version of assembly at best I know the most basic types of assembly work being just a find and replace with binary data that directly controls the hardware. What I mean to say with this is I found some very interesting things out by just trying to understand what code I was writing and how things worked.
@MikeSwanberg
@MikeSwanberg 3 місяці тому
OMG! This speaks to me so viscerally! I mean, sometimes you want a "wrapper" (usually scripts) to help people not make mistakes. Especially if it saves time from a daily set of tasks. But I agree 200%... sometimes companies build in-house things to do things in the way THEY do things and then they don't train the newbies or even have good up-to-date documentation. Preach, brother!
@georgeparaskevas8091
@georgeparaskevas8091 Місяць тому
That video was way more to the point than I thought it would be. Very nice.
@75hilmar
@75hilmar 3 місяці тому
6:00 thank you for this segment. I will view forum posts in a more distanced way from now on.
@FireStormOOO_
@FireStormOOO_ 3 місяці тому
I want to hear more on this "don't take DRY too far" rant. The perfect abstraction can be amazing when it works, but so elusive sometimes.
@daltonyon
@daltonyon 3 місяці тому
Great things, every dev should read the XY problem every day until engrave this in mind! Linus say it a lot of true things that many times people don't want to hear these days!
@spaceinvader8892
@spaceinvader8892 3 місяці тому
Man, you are just amazing.
@quasi_verum
@quasi_verum 3 місяці тому
Super True, Thank you Lord Prime.
@oblivion_2852
@oblivion_2852 3 місяці тому
The abstraction away from the actual tech (while the underlying tech stays the same) is something that cloud providers are notorious for. For example "hey you should come use our custom web gui routing system (nginx)" or "hey you should use our container apps with 90% of the features stripped and basic scale to 0 serverless orchestration (kube)"
@maxoumimaro
@maxoumimaro 3 місяці тому
I think DRY is good if you apply KISS before. So primarily make things simple and as a way to do that, try and don't repeat yourself. In my current job, I made a task to abstract a "age of data checking" to a specific new class. It is so people don''t repeat themselfs, but much more about making it so if this fails, there is only one single point of failure. In the same project, we also have many linked lists (imposed by third party tool) and even if I could very well do something to make it less repetitive to handle, I didn't because it has no big added value, devs can just write a for loop for themselfs.
@nashiora
@nashiora 3 місяці тому
Part of keeping it simple, for me, is repeating myself until I know more definitively if it was actually repetitive. All too often you assume something is the same as something else, and then you get further into the problem and you were either wrong or the circumstances have changed. It's often easy to combine things that turn out to overlap in the future if they truly do, but it's a pain starting and continuing to retrofit DRY early on regardless of the situation.
@SanderDecleer
@SanderDecleer 3 місяці тому
Also, something I've seen happen too much is making something a function because it's used two or three times. This is fine as long as the same intent is behind the code. Sometimes the same code is used for different things and as such will change for different reasons. That is the biggest caveat I apply to DRY
@drygordspellweaver8761
@drygordspellweaver8761 3 місяці тому
@SanderDecleer of course different code will use slightly different functions. That’s why function arguments accept VARIABLES. Lol. They VARY. Doesn’t mean there needs to be a separate goddamn function for every single variation.
@grimpowsify
@grimpowsify 3 місяці тому
@@SanderDecleer as long as you write same code twice, its really bad, cose as soon as he need to be updated (and he will needs in general), you have to check every f**** spot where that code was duplicated to update those part too ... but feel free to copy paste same code if you want, as long as i dont work on it i dont really care x')
@SanderDecleer
@SanderDecleer 3 місяці тому
@@grimpowsify In most cases I agree. But there are cases where two different concepts use the exact same code. When these concepts use the same method you might accidentally change more than you want while reworking that bit of code. That is why, for me in specific cases, I don't care two methods have the same nody. Copy pasting entire chunks of logic to do the exact same thing over and over again is an entirely different thing.
@acebasher1st360
@acebasher1st360 Місяць тому
I needed this video. I have a couple of projects now, where a customer wanted to 1) upload an Excel file 2) see the list the program makes of it and 3) runs whatever needs to be run. I basically copied my class from the first of such projects for all of them, making minor improvements. For this project of that sort, I wanted to abstract it somehow. This would undoubtably have taken a lot of time I don't have (because other big project going live soon). It would be a fake problem I guess, because copying a class takes almost no time and I can start working on what needs to be done for that particular use case. The level of abstraction needed would have been a nightmare, and the worst part is: I was seriously contemplating it for a while now. So ... thanks.
@Zolodar
@Zolodar Місяць тому
Does anybody have a link to Prime's video about the XY problem? I'd like to watch it, but I couldn't find it on either channel.
@seanmcconnell1874
@seanmcconnell1874 2 місяці тому
PREACH!! I had a boss who literally told me that he would never approve duplicated code in reviews because DRY was the only way to write code
@tanvski5984
@tanvski5984 Місяць тому
it has been a LONG TIME since I've heard something so useful on my lunchbreak quick videos. I'll share with my team the XY problem.
@mainendra
@mainendra 3 місяці тому
I totally agree. Instead of fixing problem find and fix the root-cause.
@davidli8936
@davidli8936 3 місяці тому
As math grad, I think we have something similar to SWE’s obsession with abstraction, which is obsession with rigor, as described by Terry Tao’s article “There’s more to mathematics than rigour and proofs”.
@russellf
@russellf 3 місяці тому
Totally agree with this. In fact replace the word “tool” with “abstraction”. There are way too many abstractions that try to hide complexity but just add to the pile of stuff to learn.
@DeanRTaylor
@DeanRTaylor 3 місяці тому
Just so I understand the video, a bad PR on the Linux kernel that's written in C is the result of junior javascript developers?
@aiuniverse
@aiuniverse 3 місяці тому
I don't even code and I love your content dude, keep up posting. Also respect for opening about your struggles in previous videos, big respect.
@oblivion_2852
@oblivion_2852 3 місяці тому
When you have abstractions for your abstractions for your abstractions. At some point you end up with problems because of the abstractions. For example I've recently found bugs with type coercion from an endpoint that produces json. Basically the mapper to the record didn't have a error case (if a field didn't exist) and rather just has a default value (which doesn't tell you if the endpoint call actually worked because of the implicit type coercion)
@1414tyty
@1414tyty 3 місяці тому
I would really appreciate it if Prime actually dove into the problem, not just sided with Linus, but formed his own opinion based on the problem space.
@demarcorr
@demarcorr 3 місяці тому
yea i needed this
@Dungeon_Synth_Enjoyer
@Dungeon_Synth_Enjoyer 2 місяці тому
Can you drop a link to this message you reading from, the one in the description is not the same as in this video.Thanks
@jewelsbypodcasterganesh
@jewelsbypodcasterganesh 3 місяці тому
Does anyone know which video is the original XY Problem?
@MultiProGGer
@MultiProGGer 3 місяці тому
You cannot make a problem simpler than it actually is. I feel like that people often try to abstract to make the problem simpler, but actually it almost always makes the problem more complicated. And even if that's just because now there is more code/tools/etc. to understand. Also: People should just stop inventing problems they don't actually have.
@The-Funk35
@The-Funk35 3 місяці тому
I wrote that docker tool, but in my defense we use a container registry that is not friendly with plain ole docker. We also have multiple environments and each environment has its own registry. I also had devs building containers from development git branches without realizing it. So the tool ensures you're building from the main branch, it tags everything for you, uploads to all of the different registries asynchronously to reduce wait times, it runs all tests prior to build and fails when tests fail, and it cleans up the registries now and then. Running the tool is a single command. I get what you're saying Prime but sometimes a wrapper is okay.
@marcusrehn6915
@marcusrehn6915 3 місяці тому
The docker-wrapper rant ❤
@geni15o
@geni15o 3 місяці тому
that first argument though, I can use it for Next and server components as well: "Just learn the damn thing!"
@Meketrefe84
@Meketrefe84 2 місяці тому
thanks, Linus/x for having a look deeply at core changes, I really appreciate that you are the last bastion
@harleyspeedthrust4013
@harleyspeedthrust4013 3 місяці тому
lmao i just saw this yesterday and spent a good ten minutes reading the email chain between linus and steven
@Oktokolo
@Oktokolo 3 місяці тому
deciding how much abstraction is enough and how much is too much is one of the hard parts of being a dev.
@jamesmills6379
@jamesmills6379 2 місяці тому
1000% agree with this. At my company, I sometimes get shit for rewriting, and rewriting the same AWS function (such as fetching file from S3 or another service) over and over again when my company has a wrapper for aws sdk. My fiew is DRY only matters when the underlying resource/code you are using has a high enough probability to change. Fun fact, all lambda function that used the company's wrapper for aws sdk failed after someone messed with the library
@asdkant
@asdkant 3 місяці тому
I'm guilty of writing a docker compose wrapper. In my defene, it just adds some arguments for convinience and passes the rest to compose, and the docs are very transparent about what it does
@fgregerfeaxcwfeffece
@fgregerfeaxcwfeffece 3 місяці тому
Yeah, mutually exclusive solutions. That's one of my favorites. How does it get additions and concatenations correct in any reliable fashion without strong typing or different operators? It doesn't! Or all implicit conversions ever: It's not a matter of if, only when. That's why I like helping people with c++. They either listen or their screams are very delightful. Same with very "smart" assembler code. Always entertaining when it's not your responsibility.
@CFEF44AB1399978B0011
@CFEF44AB1399978B0011 2 місяці тому
Shiny object syndrome is something I am going to have to remember and use. That's amazing
@arturwelp1877
@arturwelp1877 3 місяці тому
This is recent. YEEEES! Linus is back, the Kernel is saved!
@throwaway-lo4zw
@throwaway-lo4zw 3 місяці тому
lmofa the thumbnail has me crying
@Kazshmir
@Kazshmir 3 місяці тому
At 5:28 he says he has a video on the XY problem, but I can't find it. Anyone knows what it's called?
@snookandrew
@snookandrew 3 місяці тому
What dye did you use for your hair?
@Griffin12536
@Griffin12536 3 місяці тому
Why is his mustache dyed brown?
@kylehorn09
@kylehorn09 4 дні тому
In the mechanic world, we refer to XY problem as the can of worms paradox.- Don't be surprised when you find worms when opening a can of worms.
@markusmachel397
@markusmachel397 3 місяці тому
Making things more complicated than they need to be is essential for job security.
@74Bagas
@74Bagas 3 місяці тому
For business too😁
@__aj2000__
@__aj2000__ 3 місяці тому
what's that green lighting on your head?
@uoweme5grand
@uoweme5grand 2 місяці тому
I appreciate the hair color change. It really makes it obvious roughly when the video was made
@AaroRissanen-pi4td
@AaroRissanen-pi4td 3 місяці тому
The lore friendly next step for him are the stripey programmer socks
@NibbleMeTwice
@NibbleMeTwice 3 місяці тому
I really needed to hear this. I keep doing stupid stuff, trying to force OOP into everything and make everything a perfect abstraction. The project I'm working on isn't even complicated. I'm just trying to make Chess in the terminal and I keep failing. I'm just going to do it in a simple, straightforward way, and I promise myself that I won't abstract until absolutely necessary.
@kittenlord3572
@kittenlord3572 3 місяці тому
Yeah like, sometimes you need to make yourself use a simple 2d 8x8 byte array, and stop asking questions like "but what if the board needs to be customizable?" or "what if i'll need to add more unique pieces in runtime?" - first of all, the answer is "most definitely not", and second of all, unless it is the whole premise of what you're doing, just don't give a shit and do it the simple way. If you eventually find out that you didn't even need it - good! If it turns out that you have to rewrite the whole codebase to implement it - good, that's invaluable experience! I really need to understand it myself as well... Good luck with your chess project, hope it'll turn out great!
@grimpowsify
@grimpowsify 3 місяці тому
i guess the problem on working with abstraction is that you also have to set your mind to the abstraction also, i learned dev on procedural, and the difficult part of switching to OOP isnt to learn and understand what object is, its more, now i have to ignore or dont really care on what will call my object, or getting the whole process in the code in mind, its more, i have an object, he need that and that, he can do this and this and i'm working at this level on this object so for example with chess, i need to create a chessman object, it have a position X;Y you could ask yourself does those positions values could be negative, does they have a maximum or a minimum ? then you can also say, i dont know so two option -> you dont set rule on min/max pos, or you also can add public properties that set thoses limits ... a chessman can move, so he should have a method to deplace it, you can ask yourself, how i will implement it ? then that could be by a translation (like a vector on X/Y), or simply passing the new position ... mebbe an enum to know wich type of Chessman it is (or just simple string to say pawn etc ..), but dont specify the rule of the chess inside the chessman object. in fact i think the "good way" to do it is that you end with a chessman object where we can know it actual position, its type (or name) and we can move it. its ALL. after that you can make a "engine" that will use those chessman object to applie moving rules, winning conditions etc (whatever you want in fact) ... and i guess with those chessman object you will also be able to reuse them for a checkers game .. (i didnt coded neither a checkers game or a chess game, but that gived me the motivation to make one for fun sooner or latrer :p) in conclusion : try keep object as simple as possible, more you make your object simple to use and manipulate, more the entire code will be easy to use for yourself and for other. taking the time to "correctly" name your methods, properties and thinking for the view point of the object itself is a good start i guess.
@laysdong
@laysdong 3 місяці тому
We called that Tools for Tools back in my desktop support days
@wlockuz4467
@wlockuz4467 3 місяці тому
Blue hair. Next step is the thigh high rainbow socks.
@rehoboth_farm
@rehoboth_farm 3 місяці тому
Then he will cut off his penis. 🤣
@tuffgniuz
@tuffgniuz 3 місяці тому
I suffered the consequences of striving to keep my code too DRY, to the point where it no longer made sense. The result was a need to refactor the code and learn that some repetition isn't inherently as bad as I initially thought.
@Kenionatus
@Kenionatus 3 місяці тому
A discord server I'm in that has a programming help channel has it as strict advice (or even a rule? I don't quite remember) that you always state the initial problem you're trying to solve. They get a lot of questions that originate in the X Y problem and insisting that people explain why they need help often clears that up.
@Kane0123
@Kane0123 3 місяці тому
If I don’t solve tomorrow’s problems today, in a sense I’m the root cause of all problems that might not have needed to be problems if I’d problem-solved ahead of time…
@VojtaJavora
@VojtaJavora 3 місяці тому
Sure, but in a way it's like branch prediction. If you are bad at guessing what tomorrow's problems are, you are just making it worse.
@3ventic
@3ventic 3 місяці тому
The way you deal with that is documenting the known limitations and possible future problems ahead of time so fixing them can make it onto the roadmap before they become problems. It doesn't work for everything (e.g. software running off your premises or when software and hardware are tightly coupled), but often it does.
@martenkahr3365
@martenkahr3365 3 місяці тому
The problem is, you don't know, actually know, what tomorrow's problems are going to be. And there's rarely a shortage of "today's problems" to deal with first.
@Gennys
@Gennys 3 місяці тому
​@@VojtaJavoraso what you're saying is we should get CPU prediction architects to use their powers as a team leader instead of a CPU architect... Interesting.
@pianissimo7121
@pianissimo7121 3 місяці тому
How come problems exist tomorrow?
@relaxingsounds5469
@relaxingsounds5469 3 місяці тому
This happens with non homegrown wrappers too. For example I need to learn terraform for work… but I have to learn it…. Plus the stupid wrapper (looking at you terragrunt). I also have to learn k8s…. This time abstracted behind an internal home grown wrapper… Learning a tool via a wrapper is the worst. I wish the vendors would just integrate the wrapped feature natively into the thing to the extent to which it actually makes things easier…
@Lemon-lp1qb
@Lemon-lp1qb 3 місяці тому
Where is primeagen? Why is ninja on his stream? Btw surprised to see ninja use vim.
@kristinapianykh9445
@kristinapianykh9445 3 місяці тому
Where's the twitch chat? I feel almost impared watching prime's video without it
@eVmedien
@eVmedien 3 місяці тому
WE need more rants
@SemiMono
@SemiMono 3 місяці тому
I appreciate what JS's abstraction capability has done for our awareness. With it we've begun seeing the upper limit of what is a useful abstraction. And it's not something like lisp where some 0.01% of coders ever actually make anything real with it. You can't learn without making mistakes. JS has allowed many to make mistakes and begin learning from them. You cannot apply discipline to yourself if you do not have freedom. It is painful, but it allows us to learn what good programming is.
@tatanyave
@tatanyave 3 місяці тому
I like the way LT writes. Sharp, concise, clear. No superfluous words.
@BeefIngot
@BeefIngot 3 місяці тому
"No superfluous words." What? He's verbose af. Like 20% of his words are dedicated to denigrating colleagues.
@bumblebee9426
@bumblebee9426 3 місяці тому
Oh yeah, because you are not the subject.
@steelrazor4782
@steelrazor4782 3 місяці тому
his hair getting partially masked makes it even funnier
@codyaimes4354
@codyaimes4354 3 місяці тому
I'm not really in the computer coding community. When I build my own code, if i include a function, i do learn/understand it's structure. I guess that's why I'm slow/not good at it.
@joshmccall
@joshmccall 3 місяці тому
this whole vibe needs a shirt, had and a mug!
@Oodle-ox2vf
@Oodle-ox2vf 2 місяці тому
I understand exactly how he feels. I have written similar emails (or memos) in the last 50 years..
@Lampe2020
@Lampe2020 3 місяці тому
The "you copied the function without knowing why t works" is almost never true for me, although I still have to wrap my head around how _exactly_ the async function delay(ms) on my website (copied from SO) waits for the specified amount of milliseconds. Okay, I now (more than two years after adding it) finally understand how it works, it creates a promise that waits for a timeout to run out. Pretty clever!
@flyingchic3n
@flyingchic3n 3 місяці тому
my team made a wrapper that brings up docker containers from a yaml file. It works just like, but not quite exactly like, docker compose
@MikeC1
@MikeC1 Місяць тому
I once was trying to debug a web site that used an AJAX call that returned a JSON object, which contained several strings of JavaScript, HTML, and XML, which sometimes had further layers to debug within those strings,including calling a similarly packed AJAX function once unpacked and executed. All of these strings came from a database BTW. I was fired from that job because I wasn't productive enough.
@funkdefied1
@funkdefied1 3 місяці тому
Man this article/video was a kick in the noggin. I’ve been building a document generator to avoid having to maintain like 20 document templates (and to procrastinate Salesforce dev work I need to do💀). I’m dropping the doc gen problem now
@funkdefied1
@funkdefied1 3 місяці тому
The entire Salesforce Development field is just an abstraction built over product development. 👎🏻
@ccd2894
@ccd2894 3 місяці тому
ThePrimeagen hair is rusting
@helpicantgetoffofyoutube
@helpicantgetoffofyoutube 2 місяці тому
Now THIS is transparency!!! We can read their official communication!
@visco4916
@visco4916 3 місяці тому
Linus's messages to Steven, especially in Jasper, reveal much about himself.
@baka_baca
@baka_baca 3 місяці тому
Real talk, I've been denying pull requests lately because devs were writing crazy complicated code for doing the simplest things. Often the abstractions required a lot more code (sometimes 3 times the amount) as compared with writing the code straight up. No... You do not need to make an array of objects and loop over them for everything, especially to save repeating 2 lines of almost identical code right next to each other. No... You don't need to create 3 layers of abstractions spread all over the file and code base to write that test, just write the dang test assertion in 1 line! Seriously I've deleted thousands of lines of code like this recently because of the craziness. I'd rather update a handful of lines of code by hand than learn whatever crazy abstraction you wanna invent on the fly.
@skeleton_craftGaming
@skeleton_craftGaming 3 місяці тому
Encapsulation is kinda important... That being said, in encapsulation, requires that you encapulate.
@airjuri
@airjuri 3 місяці тому
Haha, just remembered something from late early 00's. Someone made template library for PHP. Argh, PHP is great for making templates without some crazy "helper" library.
@scamp3908
@scamp3908 3 місяці тому
Can someone link the video of him talking about the XY problem?
@4bclover
@4bclover 3 місяці тому
I could not agree more, I talk about 7 minute of the video. I just realized that, I am able to create web app, and I can work with it as Java Dev but I suck as developer in general. And that start makes me going crazy.
@mattymattffs
@mattymattffs Місяць тому
I understand the disdain for wrappers, but man, when they're just short hand, they're great
@ykcirodd
@ykcirodd 3 місяці тому
Great video, Rust Ninja.
Why Linus Torvalds Insults People | Prime Reacts
17:53
ThePrimeTime
Переглядів 304 тис.
2 Regrets From 55 Year Old Programmer
20:19
ThePrimeTime
Переглядів 349 тис.
Godzilla Attacks Brawl Stars!!!
00:39
Brawl Stars
Переглядів 9 млн
Eurovision Song Contest 2024: Second Semi-Final (Live Stream) | Malmö 2024 🇸🇪
2:22:36
I Quit Amazon After 2 Months
29:39
ThePrimeTime
Переглядів 255 тис.
The Day Before Was Worse Than You Thought
21:25
ThePrimeTime
Переглядів 45 тис.
Linus Torvalds On Future Of Desktop Linux
44:18
TFiR
Переглядів 352 тис.
Has Generative AI Already Peaked? - Computerphile
12:48
Computerphile
Переглядів 189 тис.
Scams In Software Engineering
31:44
ThePrimeTime
Переглядів 436 тис.
What Does Your Editor Say About You | Prime Reacts
22:12
ThePrimeTime
Переглядів 222 тис.
Required 5 Math Skills for Programming | Prime Reacts
17:17
ThePrimeTime
Переглядів 172 тис.
The Worst Kind Of Programmer
19:15
ThePrimeTime
Переглядів 369 тис.
Torvalds Speaks: Impact of Artificial Intelligence on Programming
5:05
Mastery Learning
Переглядів 672 тис.
M4 iPad Pro Impressions: Well This is Awkward
12:51
Marques Brownlee
Переглядів 4,6 млн
Нужно ли чистить ПК от пыли?
0:59
CompShop Shorts
Переглядів 106 тис.
How Neuralink Works 🧠
0:28
Zack D. Films
Переглядів 25 млн
поворотний механізм для антени
0:17
Lazeruk
Переглядів 13 тис.