432 karma · joined October 10, 2023
Having a union (assuming that the union is run well),
- ensures a better product for customers
- ensures better working conditions for workers
- ensures better pay and benefits from workers (at least in programming roles, the games industry is generally underpaid compared to developers in other industries)
- provides protections against undue firings and layoffs
I would be curious to know why you don't think a union would be good for these people.
I'm pretty sure "just" is being used here to mean "simply" rather than "recently".
I'm someone who doesn't want to go through a new laptop every other year. I've got an M1 mac right now. I've owned it for 5 years and could easily see myself getting another 5 years of use out of it. Only problem is, the hard drive is small, I can't upgrade it. It only has 16 GB RAM, which is fine for now, but I can't upgrade it. One of the 2 USB C ports gave out on me. I can't repair it.
If I had a laptop that I could repair and upgrade that also ran Linux? I would absolutely pay $2k for it - as long as the quality is good - because I think I would save money in the long term by making a laptop like that last a long time.
I don't like this perspective because it puts the onus on the individual consumer. Many people who listen to music struggle to make ends meet. They do not have the extra money to afford buying albums off of bandcamp, yet they are contributing members of society and they deserve to be able to listen to music.
Meanwhile there are billions of dollars floating around in the music industry. Spotify absolutely has the spare cash to pay their artists more; they just choose not to.
As much as I love the idea of Gabe's "piracy is a service issue" philosophy, I think the real truth is likely that piracy is an issue of capitalism and wealth inequality.
In my career so far, I've spent most of my time troubleshooting AWS configs, combing through cloudwatch logs, and wringing requirements out of people, and a lot less of my time actually solving interesting problems.
The walls of my office are gray, as is the carpet, the desks, and the walls of the bullpens. There are awful fluorescent lights overhead, and my eyes are dry and tired. I am exhausted at the end of the day because of the sensory overload of people being on constant teams meetings all around me. They speak with their outside voices, like children.
So yes, I love software development, and maybe someday I will find a better job in this field that gives me the kind of challenging work and problem solving that I signed up for, but working outdoors? surrounded by the sounds of nature with the sun on my face? I'm sure there's a catch, but it sounds nice.
Consumers need to understand that keeping games at the same price for decades despite rising costs and inflation is not realistic. If they want the industry to thrive, they need to be ok with games being more expensive.
Meanwhile, developers need to stop making games so expensive. This is an entertainment industry / corpo problem, really. Companies have seen the big profits and decided that only the big profits will do, which means you need to make a big open world cinematic experience, which is expensive, and because it's expensive, they won't take risks on making anything actually interesting.
The only way gaming moves forward is if we make riskier games that cost less to produce, which is why indies are the ones making the good games these days.
Steam: We take a 30% cut of profits on our store. Devs: Aww you're so sweet.
Apple: We take a 30% cut of profits on our store. Devs: Hello? Human resources?
When I think about the band shirts, I think about this time an indie game dev youtuber did a full breakdown of their different revenue streams. They were a "full time indie gamedev", but the overwhelming majority of their income came from gamedev Udemy courses.
So really, they were an online course seller that used their gamedev youtube content to convince people to buy the courses.
Ridiculous to see people acting like LLMs are a silver bullet for every problem without putting any thought into what that would actually look like.
My father works ATC and his schedule has him working overtime, 6 shifts a week, including overnight shifts, meaning that there is literally not a day of the week where he doesn't spend at least some time in the tower.
If that's the reality for even half of the controllers, it's no surprise that we've been seeing more and more traffic accidents lately.
Even if most of the work is routine, you definitely still want a human in the loop.
Instead, I tend to ask: if I change this code here, will I always also need to change it over there?
Copy-paste is good as long as I'm just repeating patterns. A for loop is a pattern. I use for loops in many places. That doesn't mean I need to somehow abstract out for loops because I'm repeating myself.
But if I have logic that says that button_b.x = button_a.x + button_a.w + padding, then I should make sure that I only write that information down once, so that it stays consistent throughout the program.
I think it's fair to say that Blizzard at a certain point went corporate and "lost the plot", so they thought they knew what people wanted, even though they really didn't (don't you guys have phones?).
Gotos get a bad rep because they become spaghetti when misused. But there are lots of cases where using gotos (or break/continue/early return/catch) makes your code cleaner and simpler.
Part of a programmer's job is to reason about code. By creating black and white rules like "avoid gotos", we attempt to outsource the thinking required of us out to some religious statement. We shouldn't do that.
Gotos can be useful and can lead to good code. They can also be dangerous and lead to bad code. But no "rule of thumb" or "programming principle" will save you from bad code.
If browsing the web takes 12GB of RAM, at what point do we stop chasing after more RAM and instead start demanding better performance and resource usage out of the web?
I use clang to compile on both machines. The M1 mac has noticeably faster compile times.
It doesn't need to have a cutting-edge processor or tons of RAM and storage space or a 120hz screen or razor-thin bezels or a studio-worthy camera, yet somehow all these things are prioritized on the market over a basic, reliable phone.
What's worse, is that these decisions are usually made on a short-term, quarterly basis. They never consider that slowing down today might save us time and money in the long-term. Better code means less bugs and faster bug-fixes. LLMs only exacerbate the business leader's worst tendencies.
I am not a C++ expert, but I'm surprised to hear that it is considered UB to access the other member since as far as I can tell a union is just a chunk of memory that can be interpreted differently depending on which union member you access?
So, if you had a union { bool b, char c }, and you set b = false, then I would think that accessing c would predictably give you a value of '\0'.
Granted, you probably shouldn't go around accessing an inactive union member like that, but when people say it's UB they make it sound like it's impossible to guarantee what data will be inside that byte, and it seems to me like that isn't true.
Just like how, in writing a story, a writer must also toil over each sentence, and should this be an emdash or a comma? and should I break the paragraph here or there? All this minutia is just as important to the final product as grand ideas and architecture are.
If you don't care about those little details, then fine. But you sacrifice some authorship of the program when you outsource those things to an agent. (And I would say, you sacrifice some quality as well).
Doing so takes the same space as a bool, and could be wrapped in a class if desired to provide a nicer interface.
If you use LLMs and you do care about code quality, then great. But remember that the term vibe coding as it was coined originally meant blindly accepting coding agent suggestions without even reviewing the diffs.
Many of the people aggressively pushing AI use in code are doing so because they care more about delivery products quickly then they do about the software's performance, security, and long-term maintainability. This is why many of us are pushing back against the technology.
I would hope that humans would always value human generated art, but these days it seems that many businessmen and AI bros do not. Perhaps they are not human.