This is exactly why, when I saw luke for the first time a year back, I saw him moving the windows around all cool like in this thing called "i3" and using a program called "vim" I was like "damn this looks cool and I probably am going to use this for the next 20+ years if I learn it now." I installed arch and never looked back. Best decision of my software development career hands down.
Exactly! I've been using Linux for 5 years now, but it wasn't until I switched to arch + i3 that I realized how productive I could be. And I am also surprised that at my university, I am the only one (as far as I know) that uses Linux.
@@fawadmirza. Unfortunately its not part of our curriculum. We do get some exposure to Linux because of a ethical hacking course but besides that I don't think we have anything. But most of the other students have no real understanding of the linux environment or interest in it anyway
Depends on the cost-benefit. Spending an afternoon learning a way to make me twice as productive? Sign me up. Six months to make me 1% more productive? No thanks.
actually moved to arch cause you kept saying "You will learn from it" and i learned more about my job in 2months of struggles than in 2 years of comp-sci class. worth it
Had the same experience but with Gentoo. I entered college with a partition with it installed but couldn't boot into it (only accessed it through Ubuntu LiveCD + chroot). A senior helped me out and managed to install GRUB legacy correctly a few months in, in a install-fest like event.
Very true. Every time I broke arch turned into a a great learning experience. Using Linux in general also keeps me interested in learning new things, whilst in my computer science classes I would feel burned out halfway through the semester.
Thanks for this one. I'm in my sixties and learn daily. I am convinced that the key to keep from losing your mental abilities as you age is to continue learning daily. It also creates a mindset of curiosity as opposed to a mindset of superiority. Been in Unix since ATT Version 7, and I still find something to learn daily. Thanks for the great content!
And _that's_ what I love about Unix. All these years of building on itself with the same elegant paradigm. Incremental learning instead of completely relearning. Can't thank Linus enough for porting this excellent OS to the PC and Jobs for using it for NeXT/Mac, not to mention the mavericks at AT&T who invented this crazy thing and those gnuheads who open sourced it.
Hey kirk! How do you feel your cognitive abilities compare to other people your age? I subscribe to a similar notion regarding cognitive decline and a rich intellectual life. You seem to be in a position to share your personal experience with the discipline. Your thoughts?
@@brandonprescott5525 I have noticed some decline in the speed of doing calculations in my head. I can still program to my usual level, frankly I am mediocre at Python, fair at Lisp, and satisfactory on C. My memory is not as sharp as it used to be, but it seems about on par with active friends my age. I am noticing a serious deficit in my closest friend who has become something of a "couch potato" in the last few years. I have always felt less intelligent than other peers in the programming field. Maybe I'm about average intelligence. There is much I want to learn but taking more than three credits per semester is beyond me right now. I would like to hear your conclusions on the matter. Cheers and happy hacking!
I thought so too, until I saw the shit that he has done and the garbage "online learning" classes he has made, and I am pretty sure he believes at think at least some of what he says is true
This Clement Guy sucks too. Bootcamp graduate that copies amit patels a* guide and sells it off as a personal project to get into google, quickly gets out of the gig, probably because of the massive imposter syndrome he is experiencing. Then uses the ex-google title to springboard some shitty business that's basicly paywalled shitty UA-cam videos and a few test cases. Fuck these entrepreneur web dipshits leeching off others work and spamming adds in return. Like his whole UA-cam channel is just a marketing campaign. Fuck that dude and fuck techlead
Whoever "software engineer" says something like that you mentioned in this video wants to justify arrogance or laziness. People always have time for the things they're interested in or they're eager to learn. Bashing Linux as a software engineer is a contradiction in itself in my opinion.
@Fat Boss Someone using Linux is writing the drivers needed for the touchpad to work, no? Linux and mac os are both unix based so does it really matter? Mac OS is overpriced, but as a senior dev I don't think they care that much since it's paid by work anyways.. Might as well take that 4500$ fully stacked macbook pro, seemsayin? Some things are more convenient to do on mac, some are more convenient on Linux..
@Donaldo Mac Eachen depending on who you talk to the gui isn't that nice. i haven't transitioned fully to linux yet but i'd pick windows gui over macOS anyday i hate their ui and workflow it's frustrating and dumb as hell
@Fat Boss "Guess who will be a better programmer at the end of the day?" you wrote, and I say ppl who write functioning drivers to the kernel, either professionally or on their part time.. You think they sit around and derp and try to configure the touchpad after the installation? Its almost like you're implying you can't install Linux and have the touchpad working? If not having a touchpad or mouse is a hinderence for pushing code to a software product I would only guess Linux is not the issue in those cases..
This was one of the big reasons I quit a software job I had, any suggestion of improving architecture or code readability was thrown to the side for "well our shop doesn't do that" Sticking with the current bikeshed at any cost is just as bad as trying to tear it down completely. Also, you're not entirely wrong about emacs. Configuration can be a huge timesink if you don't have discipline to learn about its software ecosystem and carefully organize your init file, but it can be a great frontend to equally great unix software. For that reason I'd recommend anyone try vim first, and if it doesn't have enough bells and whistles give emacs with evil-mode a try.
because most of the time, it doesn't really matter for the company, and all the management guys follow the lean startup method and those books and sayings of "if you are not ashamed of your work then you are delivering too late" all software is legacy the moment you push it to production and all technical debt is meaningless because with all the fads on the latest yet-another-framework-in-the-last-second.js your code is going to be thrown out of the window. or because the product owners will want to pivot, they are the ones deciding in what you are going to invest your time, not you, your time does not belong to you, it belongs to the company, that is why they pay you by time unit, hourly, weekly, monthly, yearly.
Developer time, in the beginning for "startups", is much more expensive than compute time. Nearly all of them fail, so there's the "we'll rewrite it later" approach once the business idea gets validated. However, the rewrite never happens, and the shitty code persists into production for years to come.
Working with someone like that made me realise that I needed to be around people who love learning as I do. That's what made me go back to school for my PhD (which I completed at age 57). That lead to lots of other wonderful things for me. So I'm forever grateful to that person who didn't want to learn anything.
I agree with this. For me, the feeling of having "fallen behind" on the basics makes me feel like I should currently be aiming at higher things. I'm reluctant to put myself back in the role of a beginner because to do so means admitting that I'm not already where I think I should be. It's an ego thing, like you said. The important thing is to notice these tendencies in yourself and work to change them before they hold you back too much.
I always wonder about the following thinking that happens to me a lot, especially regarding software: "If it's too complicated, it's probably badly designed/programmed and I am not going to use it."
Luke smith please learn small engine repair. It's easy. 2 strokes are amazingly easy to understand. As a middleschooler I was capable of this, oh my god I still have nostalgic memories of cracking a intake manifold :c don't port engines with a dremel tool. Especially if they are off brand chinese stuff... Also I watched netflix and adult media in middleschool. Seriously the ability to disassemble a generator is important, or rebuild a gas powered wood tool or a electric one, also (ryobi uses shit locktight in the 2000s era), which means on some tools you might just need to buy a lock washer or lock tight :D
Half year of touch typing is enough. I went from 84 to 100/110 WPM in some months. Also study of UNIX v6 source code, C progamming language, POSIX thread and UNIX/Linux administration would be pretty good
I agree to an extent Luke , but there is something to be said in software about premature optimization. When you don’t know where a pice of software is going , it often IS a waste of time to spend hours optimizing for microseconds. Once you identify how a product is used then you can spend the time making it better in useful ways.
Luke, you may sound pretentious to some but you just inspired me to get the internet out of my house. I'm going to download the information I want to learn while at work and go home each night and learn it. I waste too much time doing things online that don't benefit me long term. Thank you friend!
I learned great tools because of you Luke and I have to thank you! i3, zsh, vim, tmux are all tools I integrated in my workflow and use everyday. Being a developer means to always research new stuff IMO. When I found issues in any of the linux software I use, I simply submitted pull requests or patches to fix them and got to collaborate on multiple open source projects. There is no negatives in going full Linux. You basically learn how the computer works, isn't that the point?
Finally I installed GENTOO Linux with desktop, browser and other tools that I use. It took me a long long time, but I have never learned so much about Linux. I would highly recommend Gentoo, on modern computers the compiling time is no problem, and on older machines the fact that it's fully optimized to your specific hardware (and software dependencies) makes it that much faster and takes up less memory.
@Dustin Eward I have only under year of Gentoo usage, but I truly have loved it. Zen 2 CPU helps a ton for compiling times. If I only had one computer, I probably would use Arch too.
You definitely earned my respect with this video. I'm in tech, as well and I'm the exact opposite of the kind of person you describe, but I certainly see people like this all the time. I never quite understood it because I love learning and optimizing, but I can certainly think of times where I was tempted to rationize this way.
On the oil changing example, I think there's a fine distinction to be made. A lot of people who are into cars and work on cars, choose not to change their own oil because it is less expensive in both time and money to pay someone else to do it. Not because they don't know how or don't want to know how, but because they already do know how and know that it isn't a great use of their time. Very different reasoning and attitude, despite sounding very similar. I change my own oil because I can't trust anybody else to do it correctly. If I had someone I could trust to put the correct amount of the correct oil in, use the correct filter, and not strip out my drain plug, I'd pay them to do it. Unfortunately, I can't find that person, so it's worth spending the extra hour or so it takes to do it myself rather than have my car leak or break down. This is getting off topic, though. Likewise, sometimes you have to control scope creep, and make the determination that you can't afford to dive into some new subject within a project deadline. And again, this isn't quite the same thing that you're talking about, although has a similar ring to it. But I understand exactly the people and attitude you're talking about. if you're not on a deadline, and don't actually have anything more pressing to attend to, then it's just arrogance or laziness or both. And that's when it's a problem.
Linux is being so standard nowadays that even Windows includes it. LaTeX may seem like obsolete compared to Word etc. but it is still actively developed and is widely used in academia, with new software being written for it all the time. I had to learn R for a course and now I think it's one of the best tools to analyze data create pretty graphs. Have to keep learning stuff because most of it is useful.
You made a point about optimizing code that really resonates with me. I've put off learning 6502 assembly for 4 - 5 years, basically using a sort of basic program. I was so confused for the longest time, but then I ripped the band-aid off and just started coding in it. I learned almost everything necessary to make an fmv player (that decompressed quickly) on the atari 2600 within 2-3 weeks. Everything on that console is so precise that you need to optimize it and time it so everything happens exactly when you want it to.
to people that they do not want to learn. if you get up at 8-9 am to work/school and sleep at 3am yes you do not have time. bc after work/school your energy drops you do not want to do shit. i lately made a change. i started to sleep around 11pm-00am, i usually get up at 5.30am, no breakfast, no shower (only at night ofc) only coffee. Aaannndd there is plenty of time to learn/experiment things before work/school. also this makes you start the day more active and energetic.
5:50 Agreed, I'd always prefer more efficient software. But in reality it's being handled very differently. Hardware is so cheap nowadays that no one is gonna pay for those 10 extra hours anymore. Usually it will be the cheaper, less efficient implementation, they'll just use a bigger server.
.asm, .c, .cpp, .py... there are levels of abstraction that we are/aren't happy with. Drawing a hard line in the sand is as foolish as calling out laziness for not taking the time to construct your own cpu out of discrete through hole components. But if you're into computing/programming whatever, learning new shit is like 95% of what you'll spend your time doing. So yeah, I'm with ya, but there are valid reasons why we don't go balls deep at all times.
My time is too valuable was a mindset I used to have. Until I realized all of that time I was saving I spent wasting on my cell phone. Yes planning your grocery shopping and going to different grocery stores does take more time but you save more money. What would you have done with that time anyway?
Thanks to your videos I learned vim and LaTeX. I used those tools in my Master Thesis and I use them everyday. For that I thank you very much. Hopefully I learn to instal arch too in the future!
Wow. Incredible video. I used to work for a wealthy ex-software dev who was exactly like this, but not only in the areas of software. The guy had a big house, expensive sports car, and 10000 reasons ready as to why he should not learn how to cook his own food or learn a new language (because his time was better spent playing golf because he was so important). The money was a source of validation that he was on the right track and right about everything.... hahah!
1 step - just learn and touch computer 2 step - find patters (watch Luke Smith) 3 step - make list of features, that you care about in software. 4 step - explore and find software, that suits your list. cool paths: - find patterns by searching and trying software, filter software - learn programming, find minimal software and patch it, write software youself - learn to "chain software" - it's HUGE POWER.
One of the most worthwhile things I've done as a new tech was learning how to get a FreeBSD server off the ground. Why? It sure as hell wasn't because FreeBSD is easy to use, but I came out of it with a much deeper understanding of how an OS gets put together
I can admit to this as a teen, and you're exactly right. I'd think to myself "I can't learn this, I'm busy and special and my time is important!", and then I'd proceed to waste my oh-so-precious time anyways. It's a big problem with a lot of people.
I'm nowhere on your level but even working a corporate job you will find people rather ask somebody how to something (spoonfeed information) rather than just read the first answer on Google. Its pretty embarrassing.
IT has been taken over by thee same bad attitude. There has always been some of that, but became common in the mid 90s. I don't think the proliferation of "certifications" at the same time is a coincidence.
2:43 **Obnoxious voice** "As a millionaire", I hate learning things that'll save me grief and time like Vim and Linux, so instead, I'll just stick with Mac OS X to increase my itemized value to write off on my taxes and not hire a full time employee that'll help me find Final Cut Pro on Linux only for them to tell me it's actually called Divinci resolve and that all my old software just ain't there for some magical reason. Not like I don't know that there's more than one OS; it's just that seeing my son and maintaining a half baked interview problem course is more important than being a computer god knowing that I can rely on a stable, amazing OS that'll do just fine for my needs of ssh'ing onto remote servers and editing code on Atom instead of learning vim or emacs like some kind of obsessed nerd (despite making a million dollars off of being an obsessed nerd work for F.A.A.N.G. companies).
Wow -- I honestly never really thought someone could explain this so succinctly. I run into this basically everyday. It was pretty funny because my team uses CLion -- there license expired and where complaining they couldn't get anything done. Meanwhile, I just keep going with vim.
It's still beyond me how some people start shitstorms over what piece of software anyone uses. Go ahead and use nano on Mac OS like why the hell should I care?
Same. Some people just develop their own superiority complex because it adds meaning to their vain, dull existence. That's why you usually don't see people who have great lives having superiority complexes.
Thanks Luke, because of you I totally switch from nano to vim. Yes, it is hard for me to use vim in the first time but not for after few days later. Now vim is my default editor. Then I try Alpine Linux that have not nano or vim installed, lucky for me there is vi that I think almost available on all distro by default and basic keys used are same as vim. So.. yes, I realized that spend more time to learning vim in the first day switching from nano is more valuable in this situation, because I don't need to installing vim or nano just to edit one file, I can use vi(-M) to do that. Again, thank you Luke.
I don't know as much as some people in the computer world. But that's why I'm always learning and teaching myself. I'll never stop learning and I'll never stop wanting to learn.
I'm for sure not a dev, but I understand your point well since I work on integrating systems. I run into the same issues where devs don't feel it's important to understand the services that run their applications. Like understanding the OSI model is to complicated. Thanks for letting me hear your rant it was stress reliving like listening to metal.
Great video! I agree with your points, and it seems that people express this behavior in day to day life and not only technology. Not knowing something is generally very uncomfortable for people to admit, even though "I don't know" is often the only correct answer.
I think software ppl go to wrong places if that's the mindset. Had an internship as a student and worked on an internal project. The testing was okay but I still dove alittle in what the frameworks we used had to offer and started playing around with some features and started implementing some goodies in and after a while it got used a lot more by other ppl too. Most important lessen is that there is so much to know that basicly everyone can tell you something really mundane and simple to improve your life (or code lol)
You also wouldnt have time being ex-Goodle, ex-Facebook, ex-husband (as a millionaire) that makes living with parents cool again (as an influencer) Also, he's probably not like that IRL :) He pisses off every single soul until you realize it's just an online personality
Learning something can be also setted as a goal or a challenge: for example, in the third year of high school (in Italy we have ITIS, technician institutes) i learnt how to use Vim, since that a friend in my class said "Hey, Vim sucks, don't use it", and i did the exact opposite to see his reaction after. The first time i didn't knew how to quit it, from then i started watching cheatsheets, and then doing VimTutor, and searching commands. Now i use 99% of the time Vim as editor, since that it made my workflow easier, and the ironic thing is that my friend switched from Nano to Emacs and then to Vim and other IDEs. When i want to learn something, it's because i need and/or i want to understand how something works and what can i do with it, and have also an opinion to debate about it. I have two examples: - i did alongside No Nut November the _No Vim November_, so i had to use Emacs instad as much as possible. I kinda became a decent user, since that out teacher wants us to use it, so i have to know how it works. I'm a bit rusted since that it's quite a time that i didn't got called to the IWB to write code using Emacs. - when i heard about the systemd debate, at first i was confused. Then i started reading what is an init system, i read what UNIX philosophy is (since that was one of the arguments), why systemd is different from a standard System V or BSD init and similar (OpenRC, Runit, ecc). After i read what systemd does and i tried doing stuff in it (trying to set up services), i decided that systemd isn't suited for me and that i prefer rc.d/rc.local/rc.conf instead, since that the rc.d approach is simpler and does more or less the same things but better (at least in my experience) - since that i wanted to learn UNIX in the best way possible, i gave NetBSD a try: i can say that it's a pretty nice system, since that the guide tells what i need to know, and where are the files to configure stuff, so in some days i learnt how to configure it. I also plan to give Gentoo Linux a try So, to learn stuff it's important to be open minded and to have the will to learn something new, especially if it's useful for ourself and/or the other people
Would love some insights about your day to day career, or previous career, and Linux jobs in general! Your videos have been a game changer in not only my experience with software but mindset!
This is also the case in the academia. A lot of people, especially of the older generation, do not want to hear about anything except MS Word and other MS tools. At the same time, when their workflow fails miserably (e.g. in collaborative projects), they still won't listen and do not want to learn git, latex, working with plain text etc. The justification is always: I have teaching/science to do, I do not want to be bothered with other things.
An insight into this phenomenon: as a software developer it is extremely easy to spread yourself thin. There's so much to learn and so much to do. I make the conscious decision to not learn x, y, z, because it would eat into the time of a, b, c, which I also still wish to learn, but actually need more (or somehow decide to get good at). There is a good video of an artist who talks about a similar thing: it's easy to get lost in sculpting, 3D modeling, texturing, 2d, maybe even graphics design. It's important to make that choice to get good at one thing, because it'll already be a large enough domain to take you 10 years to master. Better to be a waterjet that cuts through metal than to sprinkle a marge garden, as he made the analogy. I also think I know which software developer you talk about. It sort of fits his persona and what he learned: to be ruthlessly effective. He never even changed his outdated tech stack, but learned C++ (or was it Java?) just for the coding interviews, because the interviewers were confused at his PHP. There's definitely many strategies towards efficiency. I'm currently very spread thin across different technologies and recently started getting into Assembler and reverse engineering. It's quite a detour, but it has a little bit cross-pollination potential with a specialization I pursue. I'm also getting into Linux, but if I am 100% honest to myself, it's probably be more efficient to just stick to Windows. I spend maybe a few minutes a day in the explorer or otherwise outside of a browser or IDE, so I seriously doubt I, or many other dev-time optimizing developers, would consider learning linux, vim, emacs and other such tooling to be ruthless prioritization. Signed, someone who wastes his "valuable devtime" watching meme and linux-oriented videos on youtube.
Staying humble, like you said, is definitely the most important step in learning. I've wasted years in the past thinking I was to smart to learn anything new!
Thank you for your videos! It seems that less and less people are interested in the fundamentals and good optimization, and rely too much on hardware and premade tools :( I remember doing some little project doing stuides, like simple web pages and programming, and I would always go to the bare bones and make it in text editor because learning is so much better plus more control and optimization. But most of the people would just go to the more convenient bloated software, learn how to drag and drop ( we already know that right?) and call it a day
Being a tech-person is a cultural identity. And for a lot of people, there is nothing more to it. There's also a personal Overton window regarding investment, everyone who puts less time than me into coding/OS/art/gaming/whatever the fuck it is I do is a filthy casual who doesn't really get it, and whoever puts more time into it is a weird loser with no life.
I've ran into this. I do machine control work. "Just hardwire it. Doing it in the PLC is too complicated. You make it too hard." What can be easier than wiring up a device to an ouput or input and making like 2-4 rungs of ladder logic? It is much better than needing two relays and an electromechanical timer to accomplish the same task. Moral of the story: this exists everywhere.
Working in the same editor/environent/OS is boring and tiring. But whatcha gonna do, some people like grind and routine and I get it. Too bad they don’t get people who like change. Luke, you’re breathtaking
The problem is that time invested into learning a tool is seen but the benefits or costs are unseen. So it's rational to reject someone telling you how to do XYZ if you have no reason to think it's worth doing it. If you have a reason to do it then that's a different situation, vim and emacs are common tools and that is a justification to learn them.
something i did to figure out all i need to do and when to do it: write down EVERYTHING you need and want to do, order it in importance (priorities), and make a weekly schedule based on it. actually type it out and you can find time for everything you need and want to do
All good is gained by those whose thought and life are kept pointed close to one main thing, not scattered abroad upon a thousand. Stephen McKenna So a machine learning engineer who want to understand about software algorithms don’t want to get bothered by learning a different desktop environment like the way enthusiast does. He will used his time to learn the algorithms and reading paper and get the job done in how ever way possible. And yes Linux is opensource so you can have a virtual environment to understand the source code so I think it’s just an opinion.
There's something to say about being humble and continuing to grow or becoming arrogant and stagnant. I definitely agree with others here that continuing to learn more every day is key to a good intellectual life. It's also ok to fail, and to be wrong. It's how we learn, and having things change over time is how science works. It's not etched in stone it's continually refined.
Great insight man. It's easy for us - humans, to ponder and bitch about anything, for what our conscious effort and grit, is unfortunetely... required ;) Progress = action.
I'm not big on Unix systems, but I have used the primary OSes, Windows, Mac, and Linux / Ubuntu / RPi Like whatever was mentioned in the videos about Macs, I stick with Windows because there's the bigger unrestrained marketplace for applications, games, and such, and partly because it's easier to use and more accessible and more used to it That's part of the reason I don't use Linux much, when I want to use something that's system specific or just to test something, including just running an executable with ./name and doing chmod +x beforehand or having to install a package in order to run something, and when there's the lesser amount of programs available if not including Wine I tried installing a distro of Arch and couldn't get down what specific disk settings I had to change to not have it just run off a live CD I also do programming and try to make utilities that are minimalistic (heh) and fast even to the point I'll use an old smaller redist (like VC2008 and .NET 2.0 ISO-1) and optimize everything I feel like there's more to mention about my experiences with Linux but I'll come back to this comment another time and add some new details that come to mind
You’re not gonna believe this, but at my University (I’m studying computer science in Germany) i witnessed the following situation: First of all some background: Every Computer in our university is running on Linux. There are a few computer rooms where people go to and do homework together. Those pcs are running a Debian system with stock xfce as a desktop environment by default. You can change and configure the de to anything you like basically - kde i3 bspwm... And then there were these guys - fellow students who are studying computer science as well and they didn’t manage to find a proper editor on the system to write their c code. There is literally any editor you could think of installed on those systems (globally of course) from vim over gedit to basically any of the popular IDEs there are. But no - they used fucking libre Office text to write their c code. Jesus Christ. At some point a Tutor came over and told them to please use gedit at least. Some people ... I have no words
Ouch I'm imagining all the autocorrections coming from writer. It's a big problem in CS/IT where people seem to learn the flow of doing something in a way instead of the concept which can be applied across programs, languages etc.
I know a guy that works in software. One day I wanted to call him and just say hi. He literally awsner me "Why are you trying to control my time and entretainment?" That day I stopped considering him my friend. For some reason peoplle in software are so anyoing. You literally nailed their atittude with this video.
FTR, I’m married with 6 kids and I’m a stay at home dad. I still manage to work around my property and house, have a few part-time writing gigs, and I still have time to read, game, and am learning how to manage Linux Mint
It's literally horrid in software. "Oh, I don't have time to do this a better way, hurrr" Good lord I have heard the same excuse so many times.... Easier to write usually means it is way worse to maintain.
I have had that attitude explaining how to quickly open the calculator on a windows 10 machine after overhearing someone on a phone call struggle with a simple calculation! Its best to let ego be ego.
The Vim example is the perfect example. I use vim nowadays. But for the longest time i used nano. Nano has this advantage of having every single command written in the bottom of the interface and the noobest noob can use in less than a minute. In this context i saw Vim as a car that you have to learn to drive and nano as a teleportation machine. I couldn't get it... until that day i heard about "vimtutor", tried it and removed nano out of my computers. Because vim is so much more powerful. I don't regret any of the 30 or 40 minutes i spent in vimtutor.
Well. The way I go about it is to write my initial drafts as lazily as I can, and rewriting it if its actually useful to other people. People don't tend to use the stuff I write, and so it really *is* a waste of time to spend an extra 10 hours to optimize it. Well... There's also other notions of efficiency that should be specified. If your program takes an extra half a second to load, but scales properly with respect to its input, then it would seem to me like it would be a lesser upgrade to optimize it when compared to something that loads fast and scales improperly in respect to input... To optimize your time and your program, I would suggest really spending some time thinking about *what* to optimize. Your time is meaningful you say? Spend it better.
What you bring up here is a constant thing in marketing. All the time we tell clients and consumers that they should use technological products with the highest degree of automation so that they "focus on what's most important in their work". Everything is supposed to work like an appliance, so that it doesn't get in the way of your "important work". While this might be true in a lot of cases, it ultimately creates a universal zeitgeist of existing as a consumer of technology, decoupled from the processes of what make things work.
lol this is exactly what is going on in my shitty school's cs intro class. all these beginners constantly evaluating if something is worth 'their time'. "HM THESE BASH COMMANDS SEEM ARBITRARY" "GUISE YOU DONT NEED TO LEARN THIS, THERE'S GUI GIT APPS" "I THINK THERE MUST BE SOME LIBRARY FOR THIS WHY ARE WE WRITING THIS" If they just decided to actually put some effort into learning every new thing they got introduced to, they would know some shit by now, but instead they are exercising their critical thinking and deciding to not waste their precious time. So they aren't learning jack shit.
@stillFLiP there is no noticeable difference in speed between vim and emacs. in fact Emacs is probably faster because most of the time you don't even need to leave emacs
This is only the second video I watched from you, but I already know I will thoroughly enjoy perusing your whole channel. Btw, I was a devout vim user for the past 5 years. I struggled with emacs the past two days and hated it. Downloaded spacemacs and it's much much nicer. There are some languages where emacs just has better tools.
As a lot of engineers I don't understand why you would use such a complicated text editor as vi... I get that it is insanely powerful, but for an idiot as me, my terminal text editor better be dead easy because within one month, I'd have forgotten everything about it. Plus code takes more effort to think than to actually write, even on a stupid notepad that will at least respect your muscle memory across all computers. But 100% agree that EVERY software engineer should know how to use Linux, and as for me it is obviously much easier to use than Windows for these tasks. I think you miss the distinction between "different and more convenient for a wide range of tasks" and "overspecialized and niche". The point is, not only our time is limited but also what we can efficiently remember.. I'd rather learn a much broader skillset such as electrical engineering and physics than obscure specialties of some tools, which I'm doing by the way. Same thing about optimization, no it really doesn't matter to optimize unless it is a requirement. For example I make my website/portfolio dead light so it loads fast across all connections, but if there is something where there is wiggle room, just code whatever is the more convenient and maintainable. Engineer time is more valuable than computer time, and I'm surprised you don't mention that you should at least measure the said thing before trying to optimize it. As for me I simply keep everything algorithmically acceptable and not have absurd lookup times and that's it. The mindset required to lead to great performance, I know it, I love it, but it's a discipline by itself and for boring software you are simply not paid to do this kind of work.
This video is filled with so many fucking straight facts it's unreal. I'm a zoomer and I study Computer Science at a high-ranking university in my country (just below Oxford/Cambridge tier). Even in those environments which are meant to be filled to the brim with people who have a willingness to learn and explore new ideas/technologies they have are not familiar with (or those with the most money) and possess some of the best qualifications in the country, there are some people who are scared to touch Linux or think it's a waste of time. A lot of people are based when it comes to this and use Linux, but some others stick to Windows. That's no problem I'm not an evangelist by any means, but I keep getting people shitting on me for using Linux for my work. The biggest and most inane complaint is it "I don't know how you do it, it takes too much time to do things, I'm too busy to learn this shit, etc. etc." like you describe. In particular, I was trying to install docker on my laptop and someone in my group (who uses Windows/Mac I believe) noticed I was using Manjaro and proceeded to try and shit on me for it, saying it is a pain in the ass and I should just use Windows like he does because at least the OS isn't "written by a fat neckbeard" (that was his only argument). It's ironic because a lot of the university work requires you to use some form of Linux one way or another because well, the professors know better and don't want to waste their time caring for Windows users. The fact of the matter is that Manjaro (my distro of choice for my awful Lenovo laptop) has been a life-saver for uni work. I have been using it for two years. It runs for starters (Windows just eats my resources with its bloat to the point where it's unusable), easy to code on, easy to install resources on and saves me a lot of time compared to if I were doing work on Windows. It only takes a little bit of willpower and time to get used to it, but it was worth it. Some others don't have that and lose out big time. It's not the fact people say this that annoys me (most regular people may feel the same and that's cool), it's the fact they say this and are meant to be a computer scientist/software engineer and meant to have that ability to explore and adapt to new/different technology than the mainstream. tl;dr of my autistic rambllings, imagine being a developer and not knowing basic linux and shitting on people who do jfl it is over Love your videos Luke, keep being awesome.
if you don't feel stupid and have no fricking idea what you are doing at least 4 days a week, you won't have the desire to learn new things. The "I am too smart to learn" mentality is so costly in the long term.
Imagine being a developer full time, spending 2/3 of your time with a computer and thinking that optimizing your workflow is irrelevant.
This is exactly why, when I saw luke for the first time a year back, I saw him moving the windows around all cool like in this thing called "i3" and using a program called "vim" I was like "damn this looks cool and I probably am going to use this for the next 20+ years if I learn it now." I installed arch and never looked back. Best decision of my software development career hands down.
Exactly! I've been using Linux for 5 years now, but it wasn't until I switched to arch + i3 that I realized how productive I could be. And I am also surprised that at my university, I am the only one (as far as I know) that uses Linux.
@@manufebie8535 in my cs undergrad 1st semester we had linux and bash scripting as part of overview of computers course.
@@fawadmirza. Unfortunately its not part of our curriculum. We do get some exposure to Linux because of a ethical hacking course but besides that I don't think we have anything. But most of the other students have no real understanding of the linux environment or interest in it anyway
Depends on the cost-benefit. Spending an afternoon learning a way to make me twice as productive? Sign me up. Six months to make me 1% more productive? No thanks.
"Linux is only free if your time isn't worth anything."
And with that, I know *exactly* who you are talking about.
"my wife left me"
@@MrMangkokoo Is it a local meme? What's the story behind this?
@@gwzrd5675 You dont know the one and only real Tech Lead?
@@TarebossT ex-google ex-facebook ex-husband ex-father ex-stock marketer teachlead
@@meyimagalot9497 no, please tell me
I watched this video at x2 speed for optimizing my time.
yeah buy learning how to do that was a waste that small amount of time that it took.
Yeah, I the only thing I don't watch at 2x or more now is series and movies, it's just so amazing
But I don’t have time to change the video speed
@@木原篤郎-b4m so waste double the time
I watched it at 50% speed
actually moved to arch cause you kept saying "You will learn from it" and i learned more about my job in 2months of struggles than in 2 years of comp-sci class.
worth it
Had the same experience but with Gentoo. I entered college with a partition with it installed but couldn't boot into it (only accessed it through Ubuntu LiveCD + chroot). A senior helped me out and managed to install GRUB legacy correctly a few months in, in a install-fest like event.
1 year ago i knew nothing about linux now i am using Gentoo as daily driver
This. Literally this.
I can relate to that. I also learned more with Arch Linux then with almost all of my software engineering classes together.
Very true. Every time I broke arch turned into a a great learning experience. Using Linux in general also keeps me interested in learning new things, whilst in my computer science classes I would feel burned out halfway through the semester.
Luke stop spitting truth so much, you might hurt some soydev's feelings
I'm a Linux pro... I know how to install Ubuntu.
GNU plus linux
@@ultrahalf
@@neonblood4658
@@AlbatrossCommando
LoL
Thanks for this one. I'm in my sixties and learn daily. I am convinced that the key to keep from losing your mental abilities as you age is to continue learning daily. It also creates a mindset of curiosity as opposed to a mindset of superiority. Been in Unix since ATT Version 7, and I still find something to learn daily. Thanks for the great content!
And _that's_ what I love about Unix. All these years of building on itself with the same elegant paradigm. Incremental learning instead of completely relearning. Can't thank Linus enough for porting this excellent OS to the PC and Jobs for using it for NeXT/Mac, not to mention the mavericks at AT&T who invented this crazy thing and those gnuheads who open sourced it.
Hey kirk! How do you feel your cognitive abilities compare to other people your age? I subscribe to a similar notion regarding cognitive decline and a rich intellectual life. You seem to be in a position to share your personal experience with the discipline. Your thoughts?
@@brandonprescott5525 I have noticed some decline in the speed of doing calculations in my head. I can still program to my usual level, frankly I am mediocre at Python, fair at Lisp, and satisfactory on C. My memory is not as sharp as it used to be, but it seems about on par with active friends my age. I am noticing a serious deficit in my closest friend who has become something of a "couch potato" in the last few years. I have always felt less intelligent than other peers in the programming field. Maybe I'm about average intelligence. There is much I want to learn but taking more than three credits per semester is beyond me right now. I would like to hear your conclusions on the matter. Cheers and happy hacking!
Nice to find somebody else over 30 on this channel.
Learning is never a waste of time. It's an investment in your future self.
Looke got triggered by THE TECH LEAD!
But unironically I think he's trolling in most of his videos.
I thought so too, until I saw the shit that he has done and the garbage "online learning" classes he has made, and I am pretty sure he believes at think at least some of what he says is true
Getting shade from a forest ranting boomer (as a millionaire)
I've unsubbed a while ago but I am very sure that "The Teach Lead" is a fraud and never wrote a line of code in his entire life.
he's unironically a shit dev, at least by looking at the work he's published
This Clement Guy sucks too. Bootcamp graduate that copies amit patels a* guide and sells it off as a personal project to get into google, quickly gets out of the gig, probably because of the massive imposter syndrome he is experiencing. Then uses the ex-google title to springboard some shitty business that's basicly paywalled shitty UA-cam videos and a few test cases. Fuck these entrepreneur web dipshits leeching off others work and spamming adds in return. Like his whole UA-cam channel is just a marketing campaign. Fuck that dude and fuck techlead
7:41 unaboomer flexes his minimalist personal HOME DEPOT
I'm so confused , is he a software engineer? Is he a carpenter? Is he a builder or sometihng??? I'm new to his channel so that's a real question lol.
@@PK-we6vk He actually studies linguistics but he efficiently uses his time to do programming and woodwork.
@@sudodoas Thank you :)
@@PK-we6vk Sorry. I meant studied.
Luke "I have married friends who do the same kind of stuff that I do" Smith
tfw no unaboomer gf to build a hut innawoods with
egghead guy explains how to be big brain
He looks like Master Yoshi. We should meme this so that Yoshi-sama notices it.
Brother of Actualized.org man, spreading big brain knowledge from bald heads
Whoever "software engineer" says something like that you mentioned in this video wants to justify arrogance or laziness. People always have time for the things they're interested in or they're eager to learn. Bashing Linux as a software engineer is a contradiction in itself in my opinion.
You should meet some .NET people, they might surprise you. Some have never touched the command line.
@Fat Boss Someone using Linux is writing the drivers needed for the touchpad to work, no? Linux and mac os are both unix based so does it really matter? Mac OS is overpriced, but as a senior dev I don't think they care that much since it's paid by work anyways.. Might as well take that 4500$ fully stacked macbook pro, seemsayin? Some things are more convenient to do on mac, some are more convenient on Linux..
Lol not really, more software engineers use windows primarily than Linux, are you saying all of those software engineers are fake?
@Donaldo Mac Eachen depending on who you talk to the gui isn't that nice.
i haven't transitioned fully to linux yet but i'd pick windows gui over macOS anyday
i hate their ui and workflow it's frustrating and dumb as hell
@Fat Boss "Guess who will be a better programmer at the end of the day?" you wrote, and I say ppl who write functioning drivers to the kernel, either professionally or on their part time.. You think they sit around and derp and try to configure the touchpad after the installation? Its almost like you're implying you can't install Linux and have the touchpad working? If not having a touchpad or mouse is a hinderence for pushing code to a software product I would only guess Linux is not the issue in those cases..
This was one of the big reasons I quit a software job I had, any suggestion of improving architecture or code readability was thrown to the side for "well our shop doesn't do that"
Sticking with the current bikeshed at any cost is just as bad as trying to tear it down completely.
Also, you're not entirely wrong about emacs. Configuration can be a huge timesink if you don't have discipline to learn about its software ecosystem and carefully organize your init file, but it can be a great frontend to equally great unix software. For that reason I'd recommend anyone try vim first, and if it doesn't have enough bells and whistles give emacs with evil-mode a try.
because most of the time, it doesn't really matter for the company, and all the management guys follow the lean startup method and those books and sayings of "if you are not ashamed of your work then you are delivering too late"
all software is legacy the moment you push it to production and all technical debt is meaningless because with all the fads on the latest yet-another-framework-in-the-last-second.js your code is going to be thrown out of the window.
or because the product owners will want to pivot, they are the ones deciding in what you are going to invest your time, not you, your time does not belong to you, it belongs to the company, that is why they pay you by time unit, hourly, weekly, monthly, yearly.
Developer time, in the beginning for "startups", is much more expensive than compute time. Nearly all of them fail, so there's the "we'll rewrite it later" approach once the business idea gets validated. However, the rewrite never happens, and the shitty code persists into production for years to come.
Working with someone like that made me realise that I needed to be around people who love learning as I do. That's what made me go back to school for my PhD (which I completed at age 57). That lead to lots of other wonderful things for me. So I'm forever grateful to that person who didn't want to learn anything.
I agree with this. For me, the feeling of having "fallen behind" on the basics makes me feel like I should currently be aiming at higher things. I'm reluctant to put myself back in the role of a beginner because to do so means admitting that I'm not already where I think I should be. It's an ego thing, like you said. The important thing is to notice these tendencies in yourself and work to change them before they hold you back too much.
Sorry Luke, I'm too busy learning Notepad++ to use Vim :^)
Notepad++... I mean what's wrong with programming on punchcards?
@@一郎-e1i punched card? too busy for that. Manipulating a hard disk with a magnet is much faster.
@@netbotcl586 Hard disk? Easy mode! Try with magnet tape!
I enjoy that this man films himself walking around in a yard talking, it's a nice change of pace to most people's sitting around with a background.
I always wonder about the following thinking that happens to me a lot, especially regarding software:
"If it's too complicated, it's probably badly designed/programmed and I am not going to use it."
My time is so valuable that I just sit around in a bank all day.
ba dum tss
When you have a deadline, an exam, or a client, that's could be a bad time to change your tools (wm, editor, design tool, etc.)
No one says to uninstall your familiar editor/software's before you are not comfortable with the new one.
Luke smith please learn small engine repair. It's easy. 2 strokes are amazingly easy to understand.
As a middleschooler I was capable of this, oh my god I still have nostalgic memories of cracking a intake manifold :c don't port engines with a dremel tool. Especially if they are off brand chinese stuff...
Also I watched netflix and adult media in middleschool.
Seriously the ability to disassemble a generator is important, or rebuild a gas powered wood tool or a electric one, also (ryobi uses shit locktight in the 2000s era), which means on some tools you might just need to buy a lock washer or lock tight :D
Learn to build own car from parts, it's worth it and actually very easy.
Ivailo Petrov wait until you can build your own space shuttle!
@@ivailopetrov2827 regulations exist, in texas the only thing I could think of was building a 3 wheeler (reliant robins...)
@@tripcodeQ7 what do you need a 4th wheel for anyways? don't tell me you need it for stability, we all know that anything over 10 km/h is bloat
@@ivailopetrov2827 what do you need a third wheel for t. Motorcycle rider
CS uni courses to be replaced with
1 year of touch typing
1 year of vim and emacs use
1 year of shell scripting
Half year of touch typing is enough. I went from 84 to 100/110 WPM in some months.
Also study of UNIX v6 source code, C progamming language, POSIX thread and UNIX/Linux administration would be pretty good
@@vlc-cosplayer I totally agree, and even goes against the "do one thing and do it well" UNIX rule
I actually took a semester of “Linux shell scripting”.
CS != Software Development
There's a lot of theoretical stuff going under the hood, especially Maths. In programming, these 3 should be there.
Try out the channel Missing Semester: ua-cam.com/channels/uXy5tCgEninup9cGplbiFw.htmlvideos
I agree to an extent Luke , but there is something to be said in software about premature optimization. When you don’t know where a pice of software is going , it often IS a waste of time to spend hours optimizing for microseconds. Once you identify how a product is used then you can spend the time making it better in useful ways.
Luke, you may sound pretentious to some but you just inspired me to get the internet out of my house.
I'm going to download the information I want to learn while at work and go home each night and learn it.
I waste too much time doing things online that don't benefit me long term.
Thank you friend!
How did it go three years later?
@@lookingforfreewifihe might be to ashamed to answer. OR he might not have internet connection
I learned great tools because of you Luke and I have to thank you! i3, zsh, vim, tmux are all tools I integrated in my workflow and use everyday. Being a developer means to always research new stuff IMO. When I found issues in any of the linux software I use, I simply submitted pull requests or patches to fix them and got to collaborate on multiple open source projects. There is no negatives in going full Linux. You basically learn how the computer works, isn't that the point?
Also using i3 and rofi I basically built my own custom operating system. A feature is missing? I just quickly hack it in with a script and rofi.
Is that a pen or a mic attached to the collar of your boomer shirt? If it's a pen, you are irrevokably boomer.
Yeah, boomer gang. Linux is full of boomers xD. Proud of being a Z that it's actually into this.
Finally I installed GENTOO Linux with desktop, browser and other tools that I use. It took me a long long time, but I have never learned so much about Linux. I would highly recommend Gentoo, on modern computers the compiling time is no problem, and on older machines the fact that it's fully optimized to your specific hardware (and software dependencies) makes it that much faster and takes up less memory.
@Dustin Eward I have only under year of Gentoo usage, but I truly have loved it. Zen 2 CPU helps a ton for compiling times.
If I only had one computer, I probably would use Arch too.
You definitely earned my respect with this video. I'm in tech, as well and I'm the exact opposite of the kind of person you describe, but I certainly see people like this all the time. I never quite understood it because I love learning and optimizing, but I can certainly think of times where I was tempted to rationize this way.
On the oil changing example, I think there's a fine distinction to be made. A lot of people who are into cars and work on cars, choose not to change their own oil because it is less expensive in both time and money to pay someone else to do it. Not because they don't know how or don't want to know how, but because they already do know how and know that it isn't a great use of their time. Very different reasoning and attitude, despite sounding very similar.
I change my own oil because I can't trust anybody else to do it correctly. If I had someone I could trust to put the correct amount of the correct oil in, use the correct filter, and not strip out my drain plug, I'd pay them to do it. Unfortunately, I can't find that person, so it's worth spending the extra hour or so it takes to do it myself rather than have my car leak or break down. This is getting off topic, though.
Likewise, sometimes you have to control scope creep, and make the determination that you can't afford to dive into some new subject within a project deadline. And again, this isn't quite the same thing that you're talking about, although has a similar ring to it.
But I understand exactly the people and attitude you're talking about. if you're not on a deadline, and don't actually have anything more pressing to attend to, then it's just arrogance or laziness or both. And that's when it's a problem.
Linux is being so standard nowadays that even Windows includes it. LaTeX may seem like obsolete compared to Word etc. but it is still actively developed and is widely used in academia, with new software being written for it all the time. I had to learn R for a course and now I think it's one of the best tools to analyze data create pretty graphs.
Have to keep learning stuff because most of it is useful.
What a boomer, he carries a pen on his jacket
Lmaoo I was just about to call that out 😂
Luke just accidentally entering warehouses in his rant..
You made a point about optimizing code that really resonates with me. I've put off learning 6502 assembly for 4 - 5 years, basically using a sort of basic program. I was so confused for the longest time, but then I ripped the band-aid off and just started coding in it. I learned almost everything necessary to make an fmv player (that decompressed quickly) on the atari 2600 within 2-3 weeks. Everything on that console is so precise that you need to optimize it and time it so everything happens exactly when you want it to.
to people that they do not want to learn.
if you get up at 8-9 am to work/school and sleep at 3am yes you do not have time. bc after work/school your energy drops you do not want to do shit. i lately made a change. i started to sleep around 11pm-00am, i usually get up at 5.30am, no breakfast, no shower (only at night ofc) only coffee. Aaannndd there is plenty of time to learn/experiment things before work/school. also this makes you start the day more active and energetic.
Defenately guilty of this, will start working on it, thanks
5:50 Agreed, I'd always prefer more efficient software. But in reality it's being handled very differently. Hardware is so cheap nowadays that no one is gonna pay for those 10 extra hours anymore. Usually it will be the cheaper, less efficient implementation, they'll just use a bigger server.
.asm, .c, .cpp, .py... there are levels of abstraction that we are/aren't happy with.
Drawing a hard line in the sand is as foolish as calling out laziness for not taking the time to construct your own cpu out of discrete through hole components.
But if you're into computing/programming whatever, learning new shit is like 95% of what you'll spend your time doing. So yeah, I'm with ya, but there are valid reasons why we don't go balls deep at all times.
My time is too valuable was a mindset I used to have. Until I realized all of that time I was saving I spent wasting on my cell phone. Yes planning your grocery shopping and going to different grocery stores does take more time but you save more money. What would you have done with that time anyway?
"I'm far too busy to wipe my ass."
Thanks to your videos I learned vim and LaTeX. I used those tools in my Master Thesis and I use them everyday. For that I thank you very much. Hopefully I learn to instal arch too in the future!
Im sure you probably already know how to install arch by now, but it is magnitudes easier than learning vim and LaTeX
Wow. Incredible video. I used to work for a wealthy ex-software dev who was exactly like this, but not only in the areas of software. The guy had a big house, expensive sports car, and 10000 reasons ready as to why he should not learn how to cook his own food or learn a new language (because his time was better spent playing golf because he was so important). The money was a source of validation that he was on the right track and right about everything.... hahah!
1 step - just learn and touch computer
2 step - find patters (watch Luke Smith)
3 step - make list of features, that you care about in software.
4 step - explore and find software, that suits your list.
cool paths:
- find patterns by searching and trying software, filter software
- learn programming, find minimal software and patch it, write software youself
- learn to "chain software" - it's HUGE POWER.
*Soydevs are getting triggered.*
Honestly, my life has gone better with vim and pandoc for college presentations.
VIM
One of the most worthwhile things I've done as a new tech was learning how to get a FreeBSD server off the ground. Why? It sure as hell wasn't because FreeBSD is easy to use, but I came out of it with a much deeper understanding of how an OS gets put together
I can admit to this as a teen, and you're exactly right. I'd think to myself "I can't learn this, I'm busy and special and my time is important!", and then I'd proceed to waste my oh-so-precious time anyways. It's a big problem with a lot of people.
I'm nowhere on your level but even working a corporate job you will find people rather ask somebody how to something (spoonfeed information) rather than just read the first answer on Google. Its pretty embarrassing.
IT has been taken over by thee same bad attitude. There has always been some of that, but became common in the mid 90s. I don't think the proliferation of "certifications" at the same time is a coincidence.
rednight what do you mean about the certifications?
@@michaelvivirito mcse, a+, etc, etc.
rednight those two certs seem pretty weak. But what’s wrong with certifications like aws solutions architect professional?
2:43 **Obnoxious voice** "As a millionaire", I hate learning things that'll save me grief and time like Vim and Linux, so instead, I'll just stick with Mac OS X to increase my itemized value to write off on my taxes and not hire a full time employee that'll help me find Final Cut Pro on Linux only for them to tell me it's actually called Divinci resolve and that all my old software just ain't there for some magical reason. Not like I don't know that there's more than one OS; it's just that seeing my son and maintaining a half baked interview problem course is more important than being a computer god knowing that I can rely on a stable, amazing OS that'll do just fine for my needs of ssh'ing onto remote servers and editing code on Atom instead of learning vim or emacs like some kind of obsessed nerd (despite making a million dollars off of being an obsessed nerd work for F.A.A.N.G. companies).
His wife left him for Tyron.
Wow -- I honestly never really thought someone could explain this so succinctly. I run into this basically everyday. It was pretty funny because my team uses CLion -- there license expired and where complaining they couldn't get anything done. Meanwhile, I just keep going with vim.
It's still beyond me how some people start shitstorms over what piece of software anyone uses.
Go ahead and use nano on Mac OS like why the hell should I care?
Same. Some people just develop their own superiority complex because it adds meaning to their vain, dull existence. That's why you usually don't see people who have great lives having superiority complexes.
The 30-year old boomer is pumping out videos quickly
BTW what camera do you use?
His phone on a selfie stick (boomer energy)
@@mynonaamabo1204 Selfie sticks are bloat he uses his thinkpad's webcam.
OK BOOMER!
Yeah there's a lot of "devs" that are very insecure about their intelligence.
Thanks Luke, because of you I totally switch from nano to vim. Yes, it is hard for me to use vim in the first time but not for after few days later. Now vim is my default editor. Then I try Alpine Linux that have not nano or vim installed, lucky for me there is vi that I think almost available on all distro by default and basic keys used are same as vim. So.. yes, I realized that spend more time to learning vim in the first day switching from nano is more valuable in this situation, because I don't need to installing vim or nano just to edit one file, I can use vi(-M) to do that. Again, thank you Luke.
The Dunning Kruger effect? Some people believe they're smarter than they really are.
I don't know as much as some people in the computer world. But that's why I'm always learning and teaching myself. I'll never stop learning and I'll never stop wanting to learn.
I'm for sure not a dev, but I understand your point well since I work on integrating systems. I run into the same issues where devs don't feel it's important to understand the services that run their applications.
Like understanding the OSI model is to complicated. Thanks for letting me hear your rant it was stress reliving like listening to metal.
Great video! I agree with your points, and it seems that people express this behavior in day to day life and not only technology. Not knowing something is generally very uncomfortable for people to admit, even though "I don't know" is often the only correct answer.
Church 4 times a week...
Do you even church bro?
Religion is bloat :P
I think software ppl go to wrong places if that's the mindset. Had an internship as a student and worked on an internal project. The testing was okay but I still dove alittle in what the frameworks we used had to offer and started playing around with some features and started implementing some goodies in and after a while it got used a lot more by other ppl too.
Most important lessen is that there is so much to know that basicly everyone can tell you something really mundane and simple to improve your life (or code lol)
Vim is learned in a week.
Ah ah ah ah. Bite me. I've been using it for over 15 years. still learning new stuffs.
You also wouldnt have time being ex-Goodle, ex-Facebook, ex-husband (as a millionaire) that makes living with parents cool again (as an influencer)
Also, he's probably not like that IRL :) He pisses off every single soul until you realize it's just an online personality
Learning something can be also setted as a goal or a challenge: for example, in the third year of high school (in Italy we have ITIS, technician institutes) i learnt how to use Vim, since that a friend in my class said "Hey, Vim sucks, don't use it", and i did the exact opposite to see his reaction after.
The first time i didn't knew how to quit it, from then i started watching cheatsheets, and then doing VimTutor, and searching commands. Now i use 99% of the time Vim as editor, since that it made my workflow easier, and the ironic thing is that my friend switched from Nano to Emacs and then to Vim and other IDEs.
When i want to learn something, it's because i need and/or i want to understand how something works and what can i do with it, and have also an opinion to debate about it. I have two examples:
- i did alongside No Nut November the _No Vim November_, so i had to use Emacs instad as much as possible. I kinda became a decent user, since that out teacher wants us to use it, so i have to know how it works. I'm a bit rusted since that it's quite a time that i didn't got called to the IWB to write code using Emacs.
- when i heard about the systemd debate, at first i was confused. Then i started reading what is an init system, i read what UNIX philosophy is (since that was one of the arguments), why systemd is different from a standard System V or BSD init and similar (OpenRC, Runit, ecc). After i read what systemd does and i tried doing stuff in it (trying to set up services), i decided that systemd isn't suited for me and that i prefer rc.d/rc.local/rc.conf instead, since that the rc.d approach is simpler and does more or less the same things but better (at least in my experience)
- since that i wanted to learn UNIX in the best way possible, i gave NetBSD a try: i can say that it's a pretty nice system, since that the guide tells what i need to know, and where are the files to configure stuff, so in some days i learnt how to configure it. I also plan to give Gentoo Linux a try
So, to learn stuff it's important to be open minded and to have the will to learn something new, especially if it's useful for ourself and/or the other people
Okay. So when are you switching to emacs?
@@SaHaRaSquad Okay.
Would love some insights about your day to day career, or previous career, and Linux jobs in general! Your videos have been a game changer in not only my experience with software but mindset!
This is also the case in the academia. A lot of people, especially of the older generation, do not want to hear about anything except MS Word and other MS tools. At the same time, when their workflow fails miserably (e.g. in collaborative projects), they still won't listen and do not want to learn git, latex, working with plain text etc. The justification is always: I have teaching/science to do, I do not want to be bothered with other things.
"I don't like the syntax of *find* "
DELETE THIS COMMENT RIGHT NOW!!!!!!
@@LukeSmithxyz I don't know how to delete comments and am too old to learn.
An insight into this phenomenon: as a software developer it is extremely easy to spread yourself thin. There's so much to learn and so much to do. I make the conscious decision to not learn x, y, z, because it would eat into the time of a, b, c, which I also still wish to learn, but actually need more (or somehow decide to get good at). There is a good video of an artist who talks about a similar thing: it's easy to get lost in sculpting, 3D modeling, texturing, 2d, maybe even graphics design. It's important to make that choice to get good at one thing, because it'll already be a large enough domain to take you 10 years to master. Better to be a waterjet that cuts through metal than to sprinkle a marge garden, as he made the analogy.
I also think I know which software developer you talk about. It sort of fits his persona and what he learned: to be ruthlessly effective. He never even changed his outdated tech stack, but learned C++ (or was it Java?) just for the coding interviews, because the interviewers were confused at his PHP.
There's definitely many strategies towards efficiency. I'm currently very spread thin across different technologies and recently started getting into Assembler and reverse engineering. It's quite a detour, but it has a little bit cross-pollination potential with a specialization I pursue. I'm also getting into Linux, but if I am 100% honest to myself, it's probably be more efficient to just stick to Windows. I spend maybe a few minutes a day in the explorer or otherwise outside of a browser or IDE, so I seriously doubt I, or many other dev-time optimizing developers, would consider learning linux, vim, emacs and other such tooling to be ruthless prioritization.
Signed,
someone who wastes his "valuable devtime" watching meme and linux-oriented videos on youtube.
Yea that's true! Staying humble is the #1 step to learn anything! That applies to so many different things
Staying humble, like you said, is definitely the most important step in learning. I've wasted years in the past thinking I was to smart to learn anything new!
Nice! Now he has painted himself in a corner to learn EMACS!
There's the evil mode though should save him some time.
Thank you for your videos! It seems that less and less people are interested in the fundamentals and good optimization, and rely too much on hardware and premade tools :( I remember doing some little project doing stuides, like simple web pages and programming, and I would always go to the bare bones and make it in text editor because learning is so much better plus more control and optimization. But most of the people would just go to the more convenient bloated software, learn how to drag and drop ( we already know that right?) and call it a day
Being a tech-person is a cultural identity.
And for a lot of people, there is nothing more to it.
There's also a personal Overton window regarding investment, everyone who puts less time than me into coding/OS/art/gaming/whatever the fuck it is I do is a filthy casual who doesn't really get it, and whoever puts more time into it is a weird loser with no life.
I've ran into this. I do machine control work. "Just hardwire it. Doing it in the PLC is too complicated. You make it too hard." What can be easier than wiring up a device to an ouput or input and making like 2-4 rungs of ladder logic? It is much better than needing two relays and an electromechanical timer to accomplish the same task. Moral of the story: this exists everywhere.
Working in the same editor/environent/OS is boring and tiring. But whatcha gonna do, some people like grind and routine and I get it. Too bad they don’t get people who like change.
Luke, you’re breathtaking
The problem is that time invested into learning a tool is seen but the benefits or costs are unseen. So it's rational to reject someone telling you how to do XYZ if you have no reason to think it's worth doing it. If you have a reason to do it then that's a different situation, vim and emacs are common tools and that is a justification to learn them.
something i did to figure out all i need to do and when to do it: write down EVERYTHING you need and want to do, order it in importance (priorities), and make a weekly schedule based on it. actually type it out and you can find time for everything you need and want to do
This video is so accurate, watch how many people it triggers.
Thanks for all your videos Luke.
All good is gained by those whose thought and life are kept pointed close to one main thing, not scattered abroad upon a thousand.
Stephen McKenna
So a machine learning engineer who want to understand about software algorithms don’t want to get bothered by learning a different desktop environment like the way enthusiast does. He will used his time to learn the algorithms and reading paper and get the job done in how ever way possible.
And yes Linux is opensource so you can have a virtual environment to understand the source code so I think it’s just an opinion.
Virgin Costal Cosmopolitan Tech Lead
Vs
Chad Traditional Southern Unaboomer
There's something to say about being humble and continuing to grow or becoming arrogant and stagnant. I definitely agree with others here that continuing to learn more every day is key to a good intellectual life.
It's also ok to fail, and to be wrong. It's how we learn, and having things change over time is how science works.
It's not etched in stone it's continually refined.
Great insight man.
It's easy for us - humans,
to ponder and bitch about anything,
for what our conscious effort and grit,
is unfortunetely... required ;)
Progress = action.
I'm not big on Unix systems, but I have used the primary OSes, Windows, Mac, and Linux / Ubuntu / RPi
Like whatever was mentioned in the videos about Macs, I stick with Windows because there's the bigger unrestrained marketplace for applications, games, and such, and partly because it's easier to use and more accessible and more used to it
That's part of the reason I don't use Linux much, when I want to use something that's system specific or just to test something, including just running an executable with ./name and doing chmod +x beforehand or having to install a package in order to run something, and when there's the lesser amount of programs available if not including Wine
I tried installing a distro of Arch and couldn't get down what specific disk settings I had to change to not have it just run off a live CD
I also do programming and try to make utilities that are minimalistic (heh) and fast even to the point I'll use an old smaller redist (like VC2008 and .NET 2.0 ISO-1) and optimize everything
I feel like there's more to mention about my experiences with Linux but I'll come back to this comment another time and add some new details that come to mind
You’re not gonna believe this, but at my University (I’m studying computer science in Germany) i witnessed the following situation:
First of all some background: Every Computer in our university is running on Linux. There are a few computer rooms where people go to and do homework together. Those pcs are running a Debian system with stock xfce as a desktop environment by default.
You can change and configure the de to anything you like basically - kde i3 bspwm...
And then there were these guys - fellow students who are studying computer science as well and they didn’t manage to find a proper editor on the system to write their c code. There is literally any editor you could think of installed on those systems (globally of course) from vim over gedit to basically any of the popular IDEs there are.
But no - they used fucking libre Office text to write their c code. Jesus Christ.
At some point a Tutor came over and told them to please use gedit at least.
Some people ... I have no words
Ouch I'm imagining all the autocorrections coming from writer. It's a big problem in CS/IT where people seem to learn the flow of doing something in a way instead of the concept which can be applied across programs, languages etc.
I know a guy that works in software. One day I wanted to call him and just say hi. He literally awsner me "Why are you trying to control my time and entretainment?" That day I stopped considering him my friend. For some reason peoplle in software are so anyoing. You literally nailed their atittude with this video.
FTR, I’m married with 6 kids and I’m a stay at home dad. I still manage to work around my property and house, have a few part-time writing gigs, and I still have time to read, game, and am learning how to manage Linux Mint
It's literally horrid in software. "Oh, I don't have time to do this a better way, hurrr" Good lord I have heard the same excuse so many times.... Easier to write usually means it is way worse to maintain.
I have had that attitude explaining how to quickly open the calculator on a windows 10 machine after overhearing someone on a phone call struggle with a simple calculation!
Its best to let ego be ego.
I refuse to learn anything from this video 😂
Ikr. I'm way too busy watching YT videos than to spend the time to learn anything from a video.
The Vim example is the perfect example. I use vim nowadays. But for the longest time i used nano. Nano has this advantage of having every single command written in the bottom of the interface and the noobest noob can use in less than a minute. In this context i saw Vim as a car that you have to learn to drive and nano as a teleportation machine. I couldn't get it... until that day i heard about "vimtutor", tried it and removed nano out of my computers. Because vim is so much more powerful. I don't regret any of the 30 or 40 minutes i spent in vimtutor.
Well. The way I go about it is to write my initial drafts as lazily as I can, and rewriting it if its actually useful to other people.
People don't tend to use the stuff I write, and so it really *is* a waste of time to spend an extra 10 hours to optimize it.
Well... There's also other notions of efficiency that should be specified. If your program takes an extra half a second to load, but scales properly with respect to its input, then it would seem to me like it would be a lesser upgrade to optimize it when compared to something that loads fast and scales improperly in respect to input...
To optimize your time and your program, I would suggest really spending some time thinking about *what* to optimize. Your time is meaningful you say? Spend it better.
Married with 2 kids, still learning new stuff all the time. Ofc my personal time is when kids is asleep but one ALWAYS have time to learn stuff.
You married 2 kids? Is that legal?
I would love to hear your thoughts on the polar opposite type of person "I'm too dumb to learn anything". I feel that way a lot of times.
What you bring up here is a constant thing in marketing. All the time we tell clients and consumers that they should use technological products with the highest degree of automation so that they "focus on what's most important in their work". Everything is supposed to work like an appliance, so that it doesn't get in the way of your "important work". While this might be true in a lot of cases, it ultimately creates a universal zeitgeist of existing as a consumer of technology, decoupled from the processes of what make things work.
lol this is exactly what is going on in my shitty school's cs intro class. all these beginners constantly evaluating if something is worth 'their time'.
"HM THESE BASH COMMANDS SEEM ARBITRARY"
"GUISE YOU DONT NEED TO LEARN THIS, THERE'S GUI GIT APPS"
"I THINK THERE MUST BE SOME LIBRARY FOR THIS WHY ARE WE WRITING THIS"
If they just decided to actually put some effort into learning every new thing they got introduced to, they would know some shit by now, but instead
they are exercising their critical thinking and deciding to not waste their precious time. So they aren't learning jack shit.
I don't bother learning Vim because I already use Emacs ;)
would you use a fork of vim rewritten in elisp?
@stillFLiP But emacs can do that, rendering vim obsolete
@stillFLiP you can recreate vim in emacs
@stillFLiP because you can do the same thing you can do in vim in emacs
@stillFLiP there is no noticeable difference in speed between vim and emacs. in fact Emacs is probably faster because most of the time you don't even need to leave emacs
This is only the second video I watched from you, but I already know I will thoroughly enjoy perusing your whole channel.
Btw, I was a devout vim user for the past 5 years. I struggled with emacs the past two days and hated it. Downloaded spacemacs and it's much much nicer.
There are some languages where emacs just has better tools.
As a lot of engineers I don't understand why you would use such a complicated text editor as vi... I get that it is insanely powerful, but for an idiot as me, my terminal text editor better be dead easy because within one month, I'd have forgotten everything about it. Plus code takes more effort to think than to actually write, even on a stupid notepad that will at least respect your muscle memory across all computers. But 100% agree that EVERY software engineer should know how to use Linux, and as for me it is obviously much easier to use than Windows for these tasks. I think you miss the distinction between "different and more convenient for a wide range of tasks" and "overspecialized and niche". The point is, not only our time is limited but also what we can efficiently remember.. I'd rather learn a much broader skillset such as electrical engineering and physics than obscure specialties of some tools, which I'm doing by the way.
Same thing about optimization, no it really doesn't matter to optimize unless it is a requirement. For example I make my website/portfolio dead light so it loads fast across all connections, but if there is something where there is wiggle room, just code whatever is the more convenient and maintainable. Engineer time is more valuable than computer time, and I'm surprised you don't mention that you should at least measure the said thing before trying to optimize it. As for me I simply keep everything algorithmically acceptable and not have absurd lookup times and that's it. The mindset required to lead to great performance, I know it, I love it, but it's a discipline by itself and for boring software you are simply not paid to do this kind of work.
I'd say that if you program regularly, editors like vi make it a lot easier to refactor code
This video is filled with so many fucking straight facts it's unreal.
I'm a zoomer and I study Computer Science at a high-ranking university in my country (just below Oxford/Cambridge tier). Even in those environments which are meant to be filled to the brim with people who have a willingness to learn and explore new ideas/technologies they have are not familiar with (or those with the most money) and possess some of the best qualifications in the country, there are some people who are scared to touch Linux or think it's a waste of time.
A lot of people are based when it comes to this and use Linux, but some others stick to Windows. That's no problem I'm not an evangelist by any means, but I keep getting people shitting on me for using Linux for my work. The biggest and most inane complaint is it "I don't know how you do it, it takes too much time to do things, I'm too busy to learn this shit, etc. etc." like you describe. In particular, I was trying to install docker on my laptop and someone in my group (who uses Windows/Mac I believe) noticed I was using Manjaro and proceeded to try and shit on me for it, saying it is a pain in the ass and I should just use Windows like he does because at least the OS isn't "written by a fat neckbeard" (that was his only argument). It's ironic because a lot of the university work requires you to use some form of Linux one way or another because well, the professors know better and don't want to waste their time caring for Windows users.
The fact of the matter is that Manjaro (my distro of choice for my awful Lenovo laptop) has been a life-saver for uni work. I have been using it for two years. It runs for starters (Windows just eats my resources with its bloat to the point where it's unusable), easy to code on, easy to install resources on and saves me a lot of time compared to if I were doing work on Windows. It only takes a little bit of willpower and time to get used to it, but it was worth it. Some others don't have that and lose out big time.
It's not the fact people say this that annoys me (most regular people may feel the same and that's cool), it's the fact they say this and are meant to be a computer scientist/software engineer and meant to have that ability to explore and adapt to new/different technology than the mainstream.
tl;dr of my autistic rambllings, imagine being a developer and not knowing basic linux and shitting on people who do jfl it is over
Love your videos Luke, keep being awesome.
if you don't feel stupid and have no fricking idea what you are doing at least 4 days a week, you won't have the desire to learn new things. The "I am too smart to learn" mentality is so costly in the long term.