programmers_are_evil()
Вставка
- Опубліковано 23 сер 2024
- Programmers are evil. Not lazy. Not incompetent. Not... simply bad. EVIL. Right down to their frozen little hearts. And I can prove it. (Followed by a most excellent Q&A -- filled with laser guided logic bombs.) Recorded live at Linux Fest Northwest 2018.
More from The Lunduke Journal:
lunduke.com/
someone at bmw programmed those subscription pay walls for heated seats.
Well someone gotta do it
@AbdallahMehiz not the first time someone in germany has said that
Bruhhhh 💀💀💀
I'm not a programmer (yet), just a test guy. In my experience, the evil originates in Marketing.
@@splinejones4489 Both are. Marketing and C-Suite. 8-)
The lady toward the end was repeating industry wisdom about enabling more people to be productive with lower skill levels. It's interesting to look back 6 years later, because I would argue that we have exhausted this approach to the point of destruction. Skill levels have dropped so low across the board that we really need to start densifying on high skill levels.
It wouldn't surprise me if we could accomplish 3-4x what we're currently achieving as an industry _just by removing the underperformers_
I know that seems counterintuitive, but I would argue that the low performers are consuming the time of high performers that could have been spent just doing it for them. And doing it faster than trying to explain it to the low performers.
IMHO, this densification could also lead to more sophisticated tools (no more "dumbing down" needed) that could increase the performance of the high performers by an order of magnitude. Which would more than make up for the current 9:1 ratio of job openings to qualified candidates.
Tell me you have overly huge ego, and probably are the least performing member of your team without telling me...
@@JanVerny I think you misunderstand where I am in my career. I have been in software engineering for decades, run numerous teams as a Director of Engineering, and joined a consulting company in 2020 to try and improve the state of the industry.
Resourcing has been a huge issue I've observed, which seems to only get worse every year. It's not that there aren't good engineers out there. It's just that there are WAY fewer than the industry demands. The end result I see is that large projects and even entire companies end up hinging on the skills of 1 or 2 people.
This is not sustainable in any way, shape, or form. To the point where I'm in the process of leaving consulting to found a company based on the idea of flipping the script. Our focus will *not* be on enabling low skilled labor, but rather the opposite. We're focused on providing tools, techniques, and solutions to make skilled engineers more productive.
But you don't need to take my word for it. The results will start hitting the market in the not too distant future. l am starting with a conservative goal of achieving a 10x improvement for our customers. Even though my teams have measurably achieved as high as 100x in the past. Though the state of technology and development approaches have improved a bit since I got it quite that high. ;-)
@@thewiirocks tl;Dr
I see I hit the weak spot for some critical damage. I am sure you are a great person and everyone else is just holding you back.
@@JanVerny I see you didn't read a thing I wrote, huh? I'm doing just fine. But thanks for asking. :-)
@@thewiirocks I mean you're not wrong. When it comes to a technical field, people with knowledge, skill, and experience can't be replaced by people that lack those elements. I'm an automotive technician, not a programmer. But you can't take someone that's only been turning wrenches for 2 years and expect them to be able to keep up with someone that's been doing it for 10, 15, 20 years. It doesn't matter how many 2 year technicians you throw at it, they'll just be chasing their own tails and bogging down the process. That said...
Tools to make the productive become even more productive are always great. And I'm sure to some degree that will trickle down to those who are less productive as well. But perhaps someone should be focusing on those who are less productive and trying to help them expand on their skillset. And I know that isn't a 'you' problem, your project has it's direction and focus already. But in a broader sense, it seems like every company in every field wants to snipe someone that already has the skills they want from someone else's pool. No one ever wants to invest on their own employees, and if they do seems minimally so. But skilled and productive employees have to come from somewhere, and given the dearth of people who do not make the grade among all fields (it seems like every field has a serious lack of skilled labor) we can see that those skilled and productive employees ain't gonna come out of college and certainly not out of the ether. And they're certainly not going to train themselves. Otherwise more of them would.
Back in 2007, I was working at a SharePoint-based startup, and the SharePoint evangelist showed up. He had been talking to the Office UI team, and they showed him the "great" new ribbon UI. He said, "Wow, that's cool! But how do you get back to the regular menu?" And they replied, "Why would anyone want to do that?"
I feel his pain. WTF is Ribbon about? Who was it faster for?
IMO a game should only need a server if it has multiplayer, and even then you should be able to play singleplayer offline.
This guy is an excellent public speaker.
I stopped going to conferences b/c they were such an inefficient, unenjoyable waste of my time, now I want to go to any talk I can find he's giving! also, what a great sounding room he had.
1. Use functional programming (yea I'm in that phase)
2. Don't use libraries other than the std libraries (yea I'm in that phase)
Same :)
NodeJS swoops in "Hello there"
The reason we have write once, run many, is because dedicated solutions are better and easier at their job and it can make it easier to track when they go wrong too.
Don't use the std library, that's a collection of some of the worst code written
The only libraries I use are either my own, or those provided by the OS. If it doesn't exist, I create it from scratch because most libraries out there are complete junk. Many security vulnerabilities are the result of junk found in third party libraries.
I deliberately add 5ms of latency into every function I write, unnoticeable in individual tests, it soon adds up....
This was absolutely hilarious, especially with the back and forth with the public.
Would've loved to be there.
With the way hiring practices (don’t) work now, it’s difficult to even get interviews. So you need to be a good compliant little comm- employee.
Which is to say, I’ve drawn a line a few times. It just doesn’t help that people who don’t code or otherwise fully understand what their teams do that really hinders a lot of development and of course, feature creep.
Man time goes fast, look at that young lunduke!
As a coder, I'm ready to be destroyed
turns out I'm just lazy, can't argue against that!
it's a great way to learn!
Inclusivity sucks 2024
I don’t want a programme written in C using some high level tool, by someone who is a JAVA programmer. “Moral system”s need not apply.
JavaScript the language of inclusivity ❤
I feel like I've been challenged to write a web server in assembly.
there were the signs of the DEI group invading technology circles.
how were that bunch of ideas allowed, is something that I lament to this day.
The typing and mouse latency drives me crazy too. I think the problem is not with the USB or the wireless part of the transfer, but with the processing and prioritizing of the interrupts, and packets, and translating them into messages. Even today, a keystroke or click on an HID generates IRQ, so theoretically, it should work like a charm as if it is processed with a separate processor. The mouse should not lag or jump, the typing should appear immediately.
I run a multi-gigahertz system with Windows 10 and I swear, I have to click at least 20-30% more because nothing happens at the first click on a button or icon. I assume it is better on Mac and Linux, I will try it. Is it so difficult to prioritize the HID events to make the user satisfied, giving the feeling the computer serves well our need? Or no one cares? Technically it is not so difficult I assume, there is no need for AI to recognize HID USB packets.
The USB is not the bottleneck, some audio interface has 6-8ms roundtrip with processing and buffers in the RAM, which is OK for musicians. It would be OK for us if it would be so fast.
Latency is an evil thing. You can adapt and get used to it, but makes you tired and gives a constant feeling that something is slow here.
"I run ... Windows 10" well there's your problem right there! lol j/k. Any idea which linux distro you're interested in trying? I like Rocky now, ...but my MacBook is a beautiful machine, I'd highly recommend this route albeit it's pricey
Windows UI has got slower every iteration. Here's the thing: it isn't that the underlying system is slow, but that execution is predicated on the UI. I proved it once in Windows 7 with the simple act of exiting an empty WinForms application. Written entirely in C, and doing nothing than quitting, the actual exit code did not execute for 4 seconds after clicking the X - it had to wait for the UI to completely disappear before it got called!
Too many people write too much software. And we don't see people starting off in C, but it's fairly similar. But, we have lots more computing power which allows people to get away with more bloat.
The human brain, however, is inherently lazy, so picks the easiest option it reasonably can, and it gets used to what it knows.
We should allow jetpacks in basketball for inclusivity, that way more people can dunk
... Is there a rule against jetpacks in basketball?
People in general who'd rather pad their careers instead of being loyal to their users.
Is it padding your career, or is it doing as asked so they don't fire people for no reason.
Arguably, some of the oldest C code has caused disproportionately more problems. Sure you get things like heartbleed and speculative execution if people dpm't care enough, but safe code is hard when it isn't engrained and writing safe code is an "opt-in" procedure, rather than the default setting.
What? That "old code" was written before speculative execution was a thing, and being written in C has nothing to do with it.
x86/x64 architecture will NEVER be secure, so forget that idea. More Rust, more "type safety" (*pukes*) will never improve security, and won't prevent my assembler tool from being nefarious. They are trying to sandbox the sandbox; not for your protection, but to control you.
I seriously think they removed the ability to inline assembly in MS C/C++ compiler was a crude attempt to remove the ability for hackers to write tools.
How much of the issue is just the incentive structures? Cruddy, bloated, dependency-ridden code is faster to get out the door. The 'make things happen now, worry about the lawsuits after i've left the company' approach can make people a lot of money.
How about how moving forward linux Foundation or whatever is stopping the maintaining of support for older hardware that requires almost no effort
All I can say is this comments section is the most enlightened and refreshing I have ever read. I'm pleased I'm not the only one thinking we need to take back our industry and put hardcore technical matters back at the center of what we do.
Isn't the OBVIOUS difference between one web page and another is that in the former it is simply ordinary text with a few simple images, whereas in the latter, it's full 3D animation, and all kinds of fancy, schmancy color schemes.
Won't that make a HUGE DIFFERENCE in file size?
I dabbled in elementary programming a while ago and realize that programmers just don't pay attention to the following: LAYMAN follow ordinary human language instructions to the letter, and then tap ENTER to execute the instruction, and, - it DOESN'T WORK - often enough to FRUSTRATE the user.
This is probably because the programmer makes a certain ASSUMPTION, based on his knowledge, but, - is HIDDEN from the user, because he is just not aware of such a possibility
As a programmer, I immediately had to upvote.
Did you upvote evilly?
* laughs manically while upvoting *
I was never particularly interested in going to a linux fest until now, this was 2018? wow, looks like such a wonderful time! Looks like 2025 location hasn't been determined yet? This was such a fun watch, thank you for uploading!
Ohhh, it's nothing like this anymore. It's only the inclusivity ladies talking about how microsoft loves opensource and non-binary people.
@@PaulSpades the more I get caught up on Lundukes videos the more I’m coming to realize this, I had no idea things were this bad… 😭 guess I’ve been right to not go, could we have a Lunduke fest someday? I would especially appreciate a vintage computer focus as we reminisce about the good ol days without all the drama.
@@Calm_Energy I've had to unsubscribe from absolutely all of the tech conferences , from gamedev to webdev and everything in between. All of the presentations(starting 6-7 years ago) are about encouraging "positive" changes in the industry, and all of them are mind numbingly stupid and horrifyingly destructive or dystopian.
@@PaulSpades that’s a shame. Around 2019 I had to unsubscribe to a bunch of podcasts because they just wouldn’t shut up about topics they have no expertise in. I also gave up on this platform entirely bc of the censorship but this is the only place people seem interested in my content 🫤 so as of last week I’m back.
@@Calm_Energy Yeah, it's either obscurity or the heavily and stupidly policed platform with no clear rules. Lunduke jumps back and forth too.
I pay for YT premium (and use YT Music) since they killed Google Music, so this is what I consume.
I understand that creators here have to do a song and dance and get basically no revenue lately, but I really don't have time and patience for other platforms.
I completely supported and used LBRY for a few years. But It's clear to me that anybody wanting to use the protocol and build specialized video/audio/documents platforms will be heavily scrutinized and shut down.
Podcasts and news didn't need any platform, it was all RSS(cheap file servers, lightweight native clients and a standard for simple markup, media, transport layer and syndication).
Ah LFWN2018 ... got to that talk a little late, but it was funny.
That talk was pretty funny, ngl
2018, and you can hear the person that would become Lunduke's mortal enemy. The dreaded "I" word used to escuse mediocrity. Which ironically enough means you were right on the evil note, as evil is just unself-aware mediocrity/incompetence.
R&D rats will always boop the compile all.
people are evil in general
That woke woman was annoying
She provided a good back and forth and didn't interrupt him, and it wasn't until the end til she started with the 'inclusivity', to which he then shut down her idea very rapidly. Her presence wasn't annoying or disruptive.
@@-aaa-aaa You can't argue someone being described as annoying as that's a subjective observation
@@-aaa-aaa She was fine up until saying you can't bash MS. That was an emotional self-report on her outsider status which immediately devolved into inclusivity pandering. She's not here to create good software, she's here to deconstruct the industry and rebuild it in her preferred ideological image. Sorry, I'm not going to gobble that knob, and you shouldn't either.
When she came out with the "I" word I was like "oh no".
Programming good code is hard, and making it easier just guarantees mediocre code that makes lives miserable. Just get an easier job instead of wedging yourself into a field you're not prepared to sacrifice for.
Is programmers a synonym for c-level and managers?
The video looks great, but I can't hear a thing, my soundcard is broken.
use captions
it will reinforce your brain
driver issue
You should try IRQ9 then try IRQ7... unless it is PCI.
Sound Blaster ISA card needs to have jumpers set correctly. Probably a conflict with COM3
@@JarheadCrayonEater I think it's an IRQ Conflict he can choose between IRQ 5 and 7
Reminds me of how Dungeon of the Endless no longer runs out of the box on Steam on Mac cause Apple depricated 32bit apps and devs CANNOT EVEN RECOMPILE IT!
Upvoted for 40:08
The big programs are just being efficient.
I will go one further and say some times it is ok to write [C++] code that doesn't even copmpile on all tool chains[ though only a sorry fool would target MSVC++ now adays I say as I have a VS window open on my main screen...].
a good example of how new tech is not nessisarily better see vulkan...
Vulkan runs better for me when e.g. I use vulkanmod on minecraft. Not sure about the resource usage but OpenGL was probably cobbled together rapidly meaning it was rushed
@@balala7567I wasn't comparing Vulcan to opengl. I was comparing Vulcan to not having to use a graphics API at all...
@@balala7567 OpenGL just wasn't designed for modern GPUs and not until the most recent versions was it really capable of using most of the power. Vulkan was ground-up designed for modern GPU offload so it will always be faster. It's also WAY more complex to code for.
Vulkan is junk. I have an uber PC and it makes zero performance difference. The only people it seems to benefit are running lemons.
Great ending!
Nice talk!
I liked the talk, but the points you made about reminiscing old software then immediately segue into containers was kind of weird, like containers are one solution to the previously stated problem.
And then once the container ecosystem becomes too bloated we can have container containers, to hold the containers holding the envrionmnt holding the program. We could call them vessels.
Eventually, once we have many vessels running many containers running many containers running much code, we can finally graduate to the next step, "operating systems".
@@AR-ym4zh following the naming system, we'd have to call them oceans.
I've experienced this as well I think the point is that containers are a solution to a problem that we don't want to really address. The real problem is that dependencies in software have gotten to a point where they are unsustainable. I whole heartedly agree with Lunduke in the sense that the real solution to this problem will have to come from individual developers.
I think developers will have to do a lot more by rejecting the use of certain libraries out right, I've already had to start doing this. If a library can't be distributed or outright statically compiled then I need to give some serious consideration to outright rejecting/ejecting it out of the code base.
@@shaunpatrick8345 You're a genius here are my car keys and my wedding ring and my son.
@@ethograb Very true. Modern devs use containers to shield themselves from dependency problems and then forget to freeze the dependencies during development and even in production. And library authors then only bother to fix bugs on the last major version, so you're forced to deal with updating code to support the last major version of every library every time one updates.
39:47 INCLUSIVITEE? *boss fight initiates*
But that was a very good ending, maybe we just want software to be objectively good, and what is stopping it is our skill issue, which we ignore in the name of inclusivity
Finally back!
programmers are not evil, that guy who said that and all their potential is greatly damped by laziness is more right that your objective opinion of morality
there are so many things I could've done in my life, so many achievements lost because I just couldn't bring myself to actually do them
Lunduke is still living in the 80's, yelling at cloud about bloat.
The RAM issue (and the disk space issue) is a non-issue nowadays. We have so much of it, and it is so cheap that the amount of RAM has become almost immaterial. Can you remember last time your PC slowed down badly because of low free RAM? I can't.
On your $2000 Macbook? Sure, macos swaps pretty damn fast. You can't even tell the app was evicted out of ram, except maybe for a 1 second delay hidden by a fade animation on the window. But, tell me how your nodewebkit text editor runs on a 2gb notebook from 5 years ago, compared to visualbasic6 (which has vastly more features and uses less memory).
If you didn't know, modern operating systems can not ever run out of memory, because the memory provided to applications is virtual.
it's a privileged take. I have an 8GB ram laptop (all I can afford) and run out of ram constantly
I don't mind an application that reserves a lot of ram. Indo mind an application that takes long to do something I KNOW doesn't need to take that long
That is EXACTLY the problem. Abundance promotes waste.
Back in 1977, 4K of RAM would set you back about $125, which is roughly $648 in today's money. Nowadays, whether you have 4 GB or 128 GB of RAM, it's become super cheap, making it accessible to anyone not with strong financial constraints. I don't think it is a privileged position.
RAM bloat isn't really a problem anymore. SSDs have put the final nail in its coffin. Even if I have 50 tabs open in my browser and start running low on memory, I probably won't notice thanks to the speedy virtual memory on my SSD drive (SATA, not even M.2).
There are plenty of new tech problems that didn't exist in the '80s, but RAM bloat isn't one of them.
Now, I get it: aesthetically, we, technical users, have this unpleasant feeling when we see something using 100 MB when we think it shouldn't be more 4 MB. But really, it's an aesthetic stuck in the past. The average normal user, who doesn't have such aesthetic, won't mind or care. And they're right because 100 MB nowadays is almost nothing RAM.