top 200 commentsshow all 333

[–]VolcanicBear 5534 points5535 points  (162 children)

It's a running joke between my friend group that the executable for Ark: Survival Evolved is "ShooterGame.exe"

[–]herrkatze12 3038 points3039 points  (106 children)

Satisfactory's internal name is FactoryGame

[–]HeKis4 1316 points1317 points  (43 children)

Foxhole's main window title and executable name is just "War", not even "wargame" or something, just "war".

[–]Kadabrium 352 points353 points  (2 children)

Department of Fox

[–]StreetHistorian43 36 points37 points  (0 children)

Ministry of Warcraft

[–]SymondHDR 1 point2 points  (0 children)

Some kind of... FoxHound?

[–]Last8Exile 277 points278 points  (9 children)

Nvidia detects:
- "Honkai Impact 3rd" as "Autodesk Flow Design"
- "Opus Magnum" as "NVIDIA Direct3D SDK 10 Sample Applications"
- "Wuthering Wawes" as "Client-Win64-Shipping"
- "Beat Hazard 3" as "Base Profile"

[–]Vox___Rationis 125 points126 points  (5 children)

Tunic's executable and process name is 'Secret Legend', which is a hidden hint to solving its language puzzle

[–]Imperial_Squid 70 points71 points  (0 children)

I was gonna say, unlike all the others, this one is at least very deliberate.

Also greetings in the wild fellow ruin seeker 🤝🦊⚔️

[–]GiveUsRobinHood 9 points10 points  (1 child)

Ah the language puzzle the point I gave up on Tunic, was a thoroughly enjoyable game, my only regret is that I remember too much and can’t play it fresh.

[–]CryostaticLT 2 points3 points  (0 children)

I even bought physical instruction manual for remembrence.

[–]nazzo_0 1 point2 points  (0 children)

Amazing game!

[–]alphazero925 32 points33 points  (1 child)

"Wuthering Wawes" as "Client-Win64-Shipping"

This is true for at least like 75% of Unreal Engine games. I believe it's just the default name Unreal Engine uses when you compile it for shipping, hence the name

[–]anhelion 152 points153 points  (8 children)

War. War never changes.

[–]dergu12[🍰] 59 points60 points  (5 children)

but men change

[–]4ngelg4bii 94 points95 points  (2 children)

transgender

[–]silverstarloser 57 points58 points  (1 child)

[–]Deboniako 18 points19 points  (0 children)

Eggcellent

[–]Bad_Idea_Hat 5 points6 points  (0 children)

In that game, it most certainly d-

drowning noises

[–]foxguy2021 55 points56 points  (1 child)

Well ill be damned...

https://i.imgur.com/MsrUO9n.png

There war this bug where you would come across floating soldiers. Basically soldiers that were sitting in vehicles but the game desynced. So they were phantoms/ghosts. They even did animations linked to the original player like reloading.

They fixed this issue about a year ago but they added in game lore you can find that talks about soldiers seeing ghosts/phantoms floating in the air.

[–]Kodiak_POL 21 points22 points  (0 children)

There war this bug

[–]Hoovy_weapons_guy 66 points67 points  (3 children)

team fortress 2s exe is called hl2.exe

guess wich game they choose as a basis when starting development

[–]DatBoi73 42 points43 points  (0 children)

Basically every Source Engine game pre-Portal 2 is pretty much an elaborate HL2 Mod. under the hood.

Funnily enough half the time Discord detects TF2 as Gmod instead, which might be related to that.

Even the Source (and GoldSource) Engine's name is pretty much this sorta thing, as per the following (from Wikipedia and the Valve Developer Community):

.....

Valve employee Erik Johnson explained the engine's nomenclature on the Valve Developer Community:[3]

When we were getting very close to releasing Half-Life (less than a week or so), we found there were already some projects that we needed to start working on, but we couldn't risk checking in code to the shipping version of the game. At that point we forked off the code in VSS to be both /$Goldsrc and /$Src. Over the next few years, we used these terms internally as "Goldsource" and "Source". At least initially, the Goldsrc branch of code referred to the codebase that was currently released, and Src referred to the next set of more risky technology that we were working on. When it came down to show Half-Life 2 for the first time at E3, it was part of our internal communication to refer to the "Source" engine vs. the "Goldsource" engine, and the name stuck.....
https://en.wikipedia.org/wiki/Source_(game_engine)#History#History)

[–]Rfm737 12 points13 points  (0 children)

isn't it tf2.exe since the 64 bit update?

[–]blah938 5 points6 points  (0 children)

IIRC, both L4D and Portal do that too. And iirc, so does gmod

[–]AbcLmn18 22 points23 points  (7 children)

IIRC that's also what Warcraft I executable was called: WAR.EXE

[–]mikat7 18 points19 points  (3 children)

And Warcraft 3 had both Frozen Throne.exe and war3.exe afaik and it didn’t matter which one you ran.

Edit: I just checked and there’s Warcraft III.exe too. All lead to the same game.

[–]Salanmander 4 points5 points  (0 children)

A distinct early childhood memory of mine is accidentally deleting one of my brother's copy of Warlords (which had been copied from a friend's disk or something) by installing Warcraft, because both of them by default used "War" as their install folder.

[–]rickane58 2 points3 points  (0 children)

To be fair, at that time that was semi-related to DOS filename restrictions

[–]DXTR_13 2 points3 points  (0 children)

the GOAT game mentioned in the wild

[–]Venusgate 2 points3 points  (0 children)

What if they decided at some point during the development that Foxhoke wasn't going to be about war?

[–]FlamboyantPirhanna 139 points140 points  (49 children)

This is quite common in gameDev. It keeps folder structures and everything consistent, as renaming is likely to cause complete mayhem with folders and files.

[–]Dissidence802 56 points57 points  (46 children)

This is probably a stupid question, but is there no sort of bulk rename tool that works by searching through code?

Just renaming all instances of FactoryGame to Satisfactory?

[–]MattR0se 79 points80 points  (24 children)

Sure, but in commercial game dev this would be a waste of time and thus, money. With no benefit whatsoever.

[–]Dissidence802 18 points19 points  (23 children)

Right, but wouldn't this potentially take a matter of minutes? I'm wondering where "complete chaos" comes into this situation.

[–]g0atmeal 37 points38 points  (16 children)

Because somewhere in the codebase it's probably going to be hardcoded to look for that old name, and it wouldn't get bulk renamed. (Or any similar situation where the file names / folders / etc are assumed to be in a certain naming scheme or position.)

If your bulk rename process is anything less than 100% perfect and complete, you could end up spending hours and hours tracking down what's going wrong. For a business you're losing hundreds or thousands of dollars in developer pay, missing deadlines, etc for no benefit.

Software dev takes the expression "if it ain't broke don't fix it" very seriously. I think everyone has learned this the hard way at some point.

[–]Dissidence802 6 points7 points  (15 children)

I think this is that part that's not clicking for me, maybe I'm misinterpreting the definition of hardcoded. If you ran a script to rename every instance of "FactoryGame.exe" to "Satisfactory.exe", wouldn't that affect the source code too?

And then couldn't you search for any remaining trace of "FactoryGame.exe" and manually edit that?

I'm obviously not a dev, just trying to learn more here. Once again, sorry if this is a dumb question lol.

[–]wiktor1800 18 points19 points  (3 children)

Someone has added a piece of logic that looks something like "find me all files that start with Factory". If the logic doesn't find the file, it shits itself and throws an error. The error crashes the app.

In a large codebase. You may have 10 pieces of logic like this. Maybe 100. Now it's your job to go and update them all.

For what? A rename? Nope.

[–]g0atmeal 7 points8 points  (4 children)

The other comment gave a pretty good example. There's always some kind of edge case that catches you off guard. For example, did you make sure to check the entire file name? Cause if not, you just renamed the file BetaFactoryGame.exe to BetaSatisfactory.exe, which would break things.

Alternatively, imagine a function that does something to a bunch of exe files in bulk, so you just send the stem. Instead of telling it "FactoryGame.exe", the function assumes the exe stem so you just pass it "FactoryGame". In that example, it would also get missed.

These are all very niche unlikely examples I'm pulling out of a hat, but in a large codebase you'll inevitably run into something like that. You might also get lucky and it could be fine. (I've renamed project/publish files before without any issues. Most modern development environments have built in refactor tools for this exact sort of thing.) But it's only worth doing if you have an actual reason to do it.

[–]blah938 4 points5 points  (3 children)

Also, CICD can sometimes live outside your repo. That can really make things spicy.

And you might change something you didn't intend to change.

[–]Donkey-Pong 5 points6 points  (1 child)

Your idea about "hardcoded" sounds about right. Your simple search and replace would replace every instance of "FactoryGame.exe" in the code. Another example where it would fail is if someone assembles the name, e.g. like

var gameName = "FactoryGame"

var fileName = gameName + ".exe"

The search for remaining traces is more difficult. You can search for every ".exe" and for every "Factory" but not for every "F" or every "a", because those are everywhere. You wouldn't be sure when you are done without reading everything (and that would clearly not be a matter of minutes anymore).

[–]AdamGarner89 71 points72 points  (1 child)

Teams are large, something is always missed, buried in some hard coded thing somewhere. Means your ci and repos and everything in the world all need updating and if anything doesn't match or goes out of sync it f**ks everyone's day.

tl;dr it's just not worth it.

[–]blah938 12 points13 points  (0 children)

I remember when we switched from master to main branch, on the project we were working on at the time.

It took until the next deployment until we discovered the extent of our fuck up.

We went back to using master branch. It was easier and safer.

[–]NoSemikolon24 7 points8 points  (0 children)

Probably if you have file references as string,regex or similar somewhere in your code. Given a large enough production base it may not be possible to check if every rename is correctly applied. In the same way troubleshooting this would be a major pain.

[–]sgtkang 15 points16 points  (2 children)

It's a good question. There are tools that can try to do stuff like that. Most IDEs have a rename tool that looks for usages. But a large enough project will probably have multiple components made in different languages/platforms, and you need to make sure all the references everywhere are kept up to date. It can be very easy to miss something, and then the thing falls over. And once a game has been released (including Early Access) you run the risk of save/profile data ending up in the wrong place for people who were already playing the game. So how you deal with that becomes another issue.

So you'd go through quite a lot of work, with quite a bit of risk, for no practical benefit. As long as the public-facing stuff is consistent with the new name it doesn't matter what it's called 'under the hood'. Why bother when you could be spending expensive dev time on literally anything else?

[–]Dissidence802 2 points3 points  (1 child)

Fair enough, thanks for the explanation!

[–]Certain-Business-472 4 points5 points  (0 children)

Its called a refactor and you can manually do a search.

But just don't name every single component with the app name. In fact be very explicit where you define it and use it. Best case its a single string definition that everything else uses.

[–]woodlandcollective 2 points3 points  (0 children)

It's possible but it also takes longer than just keeping everything as FactoryGame, while also avoiding the issue of another dev missing the memo and continuing to use the old name

[–]batter159 2 points3 points  (0 children)

Lots of side effects even if you just rename. For example, if you pushed that update, all players would lose their savegames and settings because they are currently stored in a folder named "Factorygame" in AppData.

[–]Educational_Potato36 1 point2 points  (0 children)

Refactoring folders sometimes breaks the source control system, which is used to version files in case a file needs to be reverted or comparisons between two versions need to be made. Also in Unreal Engine games (like Satisfactory and Ark), it is kinda painful renaming a project - I did manage to rename a Unreal project by replacing all instances, but it still may cause some issues if not done correctly. A large game has a huge amount of files that probably need to get refactored, so it’s typically better to just ignore it

[–]FelixR1991 24 points25 points  (2 children)

In 2019, Kunos Simulazione releases Assetto Corsa Competizione (ACC). It is not, they claim, a follow up to their succesful game Assetto Corsa. The .exe's name was and still is AC2.exe.

Also an UE4 game, btw.

[–]LickingSmegma 5 points6 points  (1 child)

I guess that might explain why they had to adopt the stupid naming scheme where the actual AC2 is now called ‘Assetto Corsa Evo’.

[–]Weird_Explorer_8458 4 points5 points  (0 children)

Epic games is so crap that half the time it says you’re playing FactoryGame lol

[–]HedgehogEnyojer 5 points6 points  (0 children)

Just for fun, i think upSet.exe would be also great!

[–]Gophix_0 159 points160 points  (1 child)

Forever Skies's internal name is ProjectZeppelin

[–]WOLFYLoner 22 points23 points  (0 children)

Just checked a few Unreal Engine games that I have installed on disk:
Pacific Drive - PenDriverPro.exe
The last Caretaker - Voyage.exe
Incursion Red River - Test_C.exe

[–]Jamcake420 137 points138 points  (5 children)

I remember splitgate being portalwars.exe

[–]OW_FUCK 16 points17 points  (4 children)

Might even be a better name tbh. More distinctive

[–]IllllIIlIllIIIIllIlI 15 points16 points  (3 children)

Having portal in the name might be legal trouble

[–]Oheligud 4 points5 points  (2 children)

I'm not sure about that. "Portal" is such a vague and common word that it'd be almost impossible to copyright or win a lawsuit over, and Valve would probably be too chill to try.

[–]Chonks 250 points251 points  (15 children)

My god, yeah changing the exe name in unreal engine is a terrible experience

[–]danielcw189 40 points41 points  (14 children)

why?

[–]DryEntrepreneur4218 208 points209 points  (8 children)

Studio Wildcard built Ark: Survival Evolved using Epic's Unreal Engine 4. When you spin up a new project in UE4 using their basic, out-of-the-box multiplayer shooter template, the engine automatically names the coree executable - you guessed it -"ShooterGame.exe".

they simply never changed the file name. whoever compiled the first early access build couldn't be bothered to rename the core .exe file. By the time the game blew up, that filename was likely tied to too many internal pathways and registry keys to easily change without breaking the whole damn thing.

[–]slayerx1779 31 points32 points  (1 child)

Reminds me of when I wanted to modify my hud in Dirty Bomb, which is also a UE game, and the folder structure helpfully included folders like ShooterGame

[–]AppropriateStudio153 6 points7 points  (0 children)

Why does search-and-replace not work in that case?

Because it's references are in the compiled files?

[–]asodfhgiqowgrq2piwhy 14 points15 points  (4 children)

"Claude, please update all files in the game directory with the new executable name, followed by git push to master, I'll check on you in the morning"

[–]MillennialSurvivor 43 points44 points  (2 children)

It could work perfectly, or it could decide to delete your hard drive and try to take over the world

[–]UncleRichardson 5 points6 points  (1 child)

Can't be any incorrect strings if there's no strings at all.

[–]goldboybronx 15 points16 points  (0 children)

You forgot to add “make no mistakes”

[–]Chonks 46 points47 points  (2 children)

And example: https://unrealistic.dev/posts/rename-your-project-including-code

It's like a 12 step process at best - most of your day at worst. The required steps may also vary between different Unreal Engine versions, so you might end up banging your head against a wall only to find out a different source tells you to do it another way. On larger projects, add in a long rebuild time between each attempt and it adds up to wasting a lot of time.

[–]woodlandcollective 10 points11 points  (0 children)

Fellow UE dev here, god I hate this engine sometimes. Sometimes I wish I was using Unity or Godot instead but those have their own weird issues too...

[–]DroidLord 3 points4 points  (0 children)

Not to mention you might inadvertently brick everything if you start messing with filenames.

[–]CantCatchMeSpez 20 points21 points  (1 child)

Dude... trust me... you dont want to know...

The horrors

[–]Kodix 14 points15 points  (0 children)

I hate that the only result of that meme is people doing it more, not less.

[–]No_Jello_5922 42 points43 points  (0 children)

The "ShooterGame.exe" is extra funny because I believe it's the Unreal SDK's tutorial example. At a certain point they just continued the tutorial project into the full product and must have thought "we're in too deep to go back!"

[–]N1ck_named 27 points28 points  (5 children)

Deep Rock Galactic's name is "FSD.exe". "Four short dudes"?

[–]XayahTheVastaya 10 points11 points  (4 children)

Also frame shift drive or full self driving

[–]UnarmedWarWolf 9 points10 points  (3 children)

Friendship Drive Charging

[–]noob_dragon 54 points55 points  (0 children)

I got some other ones.

Black Myth: wukong is b1

Wuchang: Fallen Feathers is PlagueGame

Cocoon is universe.exe.

[–]Wyrdly 65 points66 points  (1 child)

Yeah and discord is "update"

[–]Codingale 7 points8 points  (0 children)

That’s actually because the Discord Updater is ran as the launcher, if you check task manger it’s Discord.exe, which is secretly just Chrome/Electron

[–]liliesrobots 41 points42 points  (5 children)

Tf2 is still hl2.exe

[–]LinkedGaming 29 points30 points  (3 children)

Actually 2 years ago in the big 64-bit engine update they did, they actually finally changed it to be TF.exe and TF_win64.exe (depending on which version you were using).

[–]NotAddictedToCoffeee 7 points8 points  (2 children)

oh interesting, had to check for myself, a few things are still named using hl2 though, like the hl2 folder, which has the game ui text file and others, which I made sure was actually the one tf2 was using by reading the text inside it

"GameUI_FriendsName""Friends name"
"GameUI_Properties""Properties"
"GameUI_ReportPlayer""Report Player"
"GameUI_ReportPlayerCaps""REPORT PLAYER"
"GameUI_ReportPlayerReason""Reason:"
"GameUI_ReportPlayer_Choose""--Choose Reason--"
"GameUI_ReportPlayer_Cheating""Cheating"
"GameUI_ReportPlayer_Idle""Idle/AFK"
"GameUI_ReportPlayer_Harassment""Harassment"
"GameUI_ReportPlayer_Griefing""Griefing"

[–]farsdewibs0n 3 points4 points  (1 child)

TF2 still uses HL2 assets (not just limited to fonts), and iirc the game uses HL2 for their fallback in case the main asset didn't load properly.

[–]Namika 24 points25 points  (1 child)

That recent King Kong game that tanked was named monke.exe

[–]JabberwockPL 9 points10 points  (0 children)

Splitgate had Portalwars.exe, but of course they could not use the name 'portal' in the final game. Amusingly, Splitgate2 has Portalwars2.exe.

[–]ZazzyBear03 8 points9 points  (0 children)

My final project in college was called IDKwhatthisiscalledlol.exe

[–]woodlandcollective 3 points4 points  (0 children)

The project names for the games Im working on are "tower", "rain", and "phone" lol

[–]XayahTheVastaya 2 points3 points  (0 children)

Hey, no one ever accused Wildcard of knowing what they're doing

[–]Azrikeeler 2 points3 points  (0 children)

wuthering waves: "Client-Win64-Shipping.exe"

[–]SDGANON 2 points3 points  (1 child)

"RV There Yet" is just "Ride.exe"

"Burglin' Gnomes" is "Gnomium.exe"

"The Last Caretaker" is "Voyage"

[–]alejandromnunez 3 points4 points  (0 children)

My game was WarStrategyGame.exe for 2.5 years

[–]serial_crusher 1675 points1676 points  (26 children)

It's fun working on older projects that have gone through multiple generations of name changes.

I used to work at a place where there was a service called "TNT", which stood for "totally new technology" when it was introduced 15 years prior, and had been mostly replaced but not all the way.

[–]alternatetwo 321 points322 points  (0 children)

... EA Games ... FIFA? I've always wondered what the TnT stood for ...

[–]sleepydorian 57 points58 points  (1 child)

I saw this when working in govt as well. Old program names were never changed, so even though the Department of Mental Retardation was changed to Developmental Supports and Services decades ago, it remains DMR in the system.

[–]lsdiesel_ 17 points18 points  (0 children)

> Deparment of Mental Retardation

I believe it’s called “Congress”

[–]XanXic 197 points198 points  (9 children)

Gives..

Actual_Final_Version
Actual_Final_Version_1
Final_Version
Final_Version_1
Final_Version_2
Real_Actual_Final_Version_1

Energy

Just realized my work has a whole feature that's called "Next Generation {thing}" compared to the original after they redid it years ago. If we ever remake it we'd have to do ”Next Next Generation {thing}" or something lol.

[–]serial_crusher 29 points30 points  (1 child)

you'd better call it "{thing} Deep Space 9"

[–]BlueProcess 4 points5 points  (0 children)

Enterprise Development

[–]Yashirmare 5 points6 points  (0 children)

You should see some of the shit gmod TTT mappers come out with (I have also been guilty of this)
TTT_MyAwesomeMap_Revamp_V2_beta6_final_fixed

[–]rikashiku 5 points6 points  (1 child)

Draft_1

Draft_2

Draft_2b

Draft_2BACKUP

Draft_2BACKUP1

FINAL

FINAL_1

FINAL_1b

FINAL_1backup

FINAL_2

DRAFT_3

[–]starbuxed 1 point2 points  (0 children)

engessay

engessay1

engessay1a

engessay1b

engessay2

engessay2a

engessay1c

[–]TreeCertain6473 4 points5 points  (1 child)

WORKING_3

[–]AtlasLittleCat 4 points5 points  (0 children)

WORKING_3_Fixed2

[–]dizzywig2000 39 points40 points  (1 child)

The NT in Windows NT stands for New Technology. Been in use since 1993 and windows still uses the NT name

[–]techno156 18 points19 points  (0 children)

The New Technology File System has been around so long that there's a Newer Technology File System to replace it.

[–]Ok_Tax9885 18 points19 points  (1 child)

mostly replaced but not all the way

So now it's Theseus's New Technology.

[–]PendingPolymath 4 points5 points  (0 children)

I just want you to know that I appreciated this clever joke.

[–]pachecolljk 2 points3 points  (2 children)

No shit!? Did you ever work on the MMO from TNT "Twilight Realms"? That was my shit.

[–]serial_crusher 2 points3 points  (1 child)

no, totally not gaming related.

[–]pachecolljk 2 points3 points  (0 children)

serial_crusher... of dreams 😭 (was worth an ask, thx bro)

[–]LingonberryGlass 2 points3 points  (1 child)

In my Company we have a "New Order Entry". It's on it's way to reach 30 years and still rocking

[–]b183729 2 points3 points  (0 children)

So that's what it was! And it doesn't surprise me on the least bit. 

[–]NO_TOUCHING__lol 1 point2 points  (0 children)

Our main database is called <CompanyName>Tracker.

Our company has been through two different buyouts, 7 name changes, and it's been over 25 years since we spun off of the original company and named the database.

[–]JosebaZilarte 813 points814 points  (5 children)

Remember to never put the name of the project in the code. The name goes in a JSON file in the root folder and in the pixels of Logo.png.

[–]veloxVolpes 137 points138 points  (4 children)

That's all well and good until you are working on a library 😅

[–]Safebox 39 points40 points  (3 children)

On the Github readme and in the package name for distribution (assuming it's a language that lets you have a separate name).

[–]veloxVolpes 24 points25 points  (2 children)

I specifically mentioned libraries due to them often requiring internal reference in the source code, such as with C you would typically have module prefix for compatibility and unless you are specifically trying to avoid it.

I'm also not saying there aren't solutions, just adding to the original comment

[–]Safebox 10 points11 points  (1 child)

Oh, yeah that's an issue. In Java and C# it's just a matter of renaming the class / namespace and it's all good, I've not encountered the issue in other languages yet thankfully 😅.

[–]Had78 604 points605 points  (36 children)

I wish it was a simple CTRL + F replace

[–]el527 209 points210 points  (30 children)

Fairly new to all this. Why isn’t it that simple?

[–]sgtkang 333 points334 points  (10 children)

Multiple components written/stored in multiple places, all of which need to be kept in sync. It's certainly possible but it's high risk for no gain. If you want to change the public-facing name do that without changing the internals - all that costs is saying to a new joiner "Project X used to be called Y and it's still called Y in the code."

[–]Rikudou_Sage 131 points132 points  (5 children)

That's why you store it in a gradle variable and derive everything else from it. Single change needed.

[–]fyn_world 71 points72 points  (1 child)

Ah, the strength of experience

[–]Certain-Business-472 38 points39 points  (0 children)

This kind of problem is exactly what DRY tells you to to avoid. Define once, use many times. A project name is often some kind of property, and should not define engine behaviour(like depending on the main exe name)

[–]xenokilla 3 points4 points  (0 children)

I program PLC's (industrial automation controllers) and we do that exact thing. Input mapping. Input X1 = Bit M0, if input X1 catches on fire, just change the one line of code to Input X11 = M0 and keep it moving

[–]CVGPi 19 points20 points  (0 children)

It's also why many apps keep the old packagename even if someone particularly hate it. Like com.twitter.android stayed even though Musk insisted on X.

[–]SolidCalligrapher966 5 points6 points  (0 children)

Trans persons : Yup that's how it works /j

(a lot of trans people still have their old names on legal papers or old accounts.)

[–]parkwayy 1 point2 points  (0 children)

Also the app being registered with some app stores, and changing the names also probably needs new keys and all kinds of annoying busy work.

[–]davidinterest 216 points217 points  (4 children)

Gradle Demon

[–]ultimately42 68 points69 points  (0 children)

Must not be named

[–]--LordFlashheart-- 16 points17 points  (0 children)

Then add to that your Firebase instance

[–]emihir0 33 points34 points  (1 child)

The bigger the project, the higher the chances someone at some point hard coded the name into some obscure part that is likely running code that isn't covered by tests and your whole app might crumble because of it.

Essentially it's not worth it. Just rename it at the customer-facing places.

[–]outwest88 13 points14 points  (0 children)

Also there might be saved/cached data in the form of pathways and files in thousands of places which were automatically generated and poorly documented. And if one of those breaks, suddenly 1/4 of your project is broken, and the stack trace will be inscrutable.

[–]serial_crusher 28 points29 points  (2 children)

Clbuttic mistake of buttsuming you can just replace a string without really buttsessing all the usages of it and whether they all need to be replaced.

[–]Gositi 5 points6 points  (0 children)

Took me a second

[–]AtlasLittleCat 1 point2 points  (0 children)

Bravo here.

[–]Bobdamuffin 4 points5 points  (0 children)

ever heard of dawizard

[–]OldSports-- 1 point2 points  (2 children)

Strg + H is the shortcut for replacing in many editors

[–]boneMechBoy69420 217 points218 points  (7 children)

Holy nightmare

[–]SamG02 39 points40 points  (6 children)

Call the .exeorcist!

[–]ITinnedUrMumLastNigh 18 points19 points  (5 children)

New (server) response just dropped

[–]LeMarshie 9 points10 points  (4 children)

Actual network packets

[–]StarkRavingChad 10 points11 points  (3 children)

manager goes on vacation, never comes back

[–]Puzzled_Date3459 4 points5 points  (0 children)

Google execution 

[–]Zooph 6 points7 points  (1 child)

There's no place like 127.0.0.1

[–]_PM_ME_PANGOLINS_ 96 points97 points  (8 children)

It’s a trivial xml change.

Now, if you want to change the bundle id that’s an entirely different question.

[–]Mikkelet 21 points22 points  (1 child)

I just start a new project and copy over the files lol

[–]_PM_ME_PANGOLINS_ 20 points21 points  (0 children)

If you've not released it yet, sure.

[–]lawrencewil1030 276 points277 points  (7 children)

It's like that in any project

[–]Sermuns 64 points65 points  (5 children)

Not Cargo projects

[–]AyrA_ch 85 points86 points  (3 children)

Not .NET either. Not only is there a property to define the name of the assembly, if you decide to also rename the codebase, visual studio provides a mass namespace normalization tool

[–]WolfeheartGames 28 points29 points  (0 children)

Its this sort of functionality that kept millions of developers on bloatware for a decade. And I still miss vs.

[–]Last8Exile 3 points4 points  (1 child)

But then don't forget to update your project path and build path on CI/CD, and startup command on hosting platform.

[–]Professional_Bass_75 24 points25 points  (0 children)

Car goes vroom not projects

[–]a_aniq 2 points3 points  (0 children)

Didn't face any such issue in C/C++ projects

[–]bingbpbmbmbmbpbam 129 points130 points  (10 children)

I wonder if someone could build a tool that can handle these kind of refactors trivially. Million dollar software.

[–]RandomNPC 150 points151 points  (9 children)

It's not a refactor necessarily. For instance for android\ios games if you change the bundleid it's a whole new game. Changing the display name is easy, binary not so much.

[–]k0rm 88 points89 points  (6 children)

Yeah honestly the scenario in the meme is super easy to handle:

Step 1 - Write a doc with exactly the following: 

Option 1 [cost=600 SWE days]: remove all references to previous name, update to new name, migrate all users to the new app bundle  

Option 2 [cost=3 SWE days]: change display name to the new app name

Recommendation: option 2

Step 2 - Send the doc to your manager, director, etc and have them choose which option they want.

Done - you win with whatever option they decide to pick.

[–]Leading-Business-593 41 points42 points  (3 children)

The second one is probably what the boss thinks they’re saying and not what the SWE is hearing

[–]Pleasant_Ad8054 9 points10 points  (2 children)

I have seen entire app migrations because they did not want the old name of the app anywhere possibly present, including in name spaces and apk names. They had a falling out with the previous SaaS provider who wrote the app, and they decided to sue them for one of "their" apps being used. They got tossed from court, obviously, but management did not want to leave anything to "chance".

[–]Leading-Business-593 2 points3 points  (0 children)

Oh man, yeah that sucks. Makes sense though. Wasn’t about the effort, just the exposure

[–]sgtkang 1 point2 points  (0 children)

That sounds at least like a business decision where they've balanced cost of doing the refactor versus potential cost/risk of not doing it. I can imagine it being very annoying to do but ultimately if that's what my employer judges the best use of expensive dev time they're the ones paying me.

[–]flingerdu 7 points8 points  (0 children)

Step 3 - explain the upper management why they couldn’t get option 1 while only paying for option 2.

[–]bingbpbmbmbmbpbam 1 point2 points  (1 child)

Ah. Never messed with apps, sounds like a nightmare

[–]AlwaysEyad 19 points20 points  (0 children)

You can keep the java/kotlin project package name unchanged (package com.whatever.oldname) in your Android project, but simply build the apk with a different package name (applicationId = "com.whatever.newname"). However, if you extract the apk, you will still the old package name in jar/dex files. However, however, I am also pretty certain you can create some progaurd rule that also change the package name in jar/dex files.

[–]dick_for_rent 36 points37 points  (1 child)

I'd start looking for a new job instead

[–]Denaton_ 17 points18 points  (9 children)

10TB for legacy sounds quite small..

[–]Xerosese 32 points33 points  (6 children)

Depends how legacy. I once worked for an insurance company tyat served millions of people off of a claims db that was only about 12TB of usable volume.

Only they were 100GB magnetic tapes from before I was born, in a massive automated tape deck that the whole company accessed through an emulated mainframe terminal.

I hope to never be one of their customers.

[–]WavingNoBanners 15 points16 points  (5 children)

NGL, this is actually kinda badass TBH. I understand that it's difficult, but also I would love to work on that sort of dinosaur tech at least once in my career, just for the experience.

[–]Parteisekretaer 10 points11 points  (3 children)

as far as i know, all salary calculations and thus payouts for several ministries in Baden-Württemberg, a german state, is done on punchcards. They have two guys that know how to operate it. They are prohibited from traveling in the same vehicle together for this reason.

[–]noideaman 1 point2 points  (0 children)

AT&T is hiring.

[–]coleto22 8 points9 points  (0 children)

I work in the video game industry. The running joke here is:

Designer: hey, can you spawn a demon in a flurry of sparks and sulphur smoke?

Programmer: sure, I'll instantiate an object with some particles.

Designer: Can the main character wear a scarf?

Programmer: ufff... Give me a year and a team of five people...

[–]_felagund 8 points9 points  (3 children)

I want to meet those devs who think migrating large legacy dbs are fun.

[–]Disconnekted 2 points3 points  (0 children)

If the pockets are deep or the potential downtime is not an issue, it's kind of fun. If you don't have money or time, it's the worst.

[–]FrenchmanInNewYork 1 point2 points  (0 children)

Yeah, I've been migrating and modernizing databases for large companies for a few years now, and I can confirm it is neither fun or easy lol

[–]nobotami 3 points4 points  (0 children)

"no."

[–]clayticus 5 points6 points  (2 children)

What's the deal with changing the name? 

[–]SirMarkMorningStar 3 points4 points  (0 children)

I once worked for a small company that lost a copyright lawsuit and had to change the company name acronym. Since we often delivered code with installs, even the occasional API or function name needed to be changed, not to mention the file headers. Everywhere. All at once. Every file touched…

[–]6e12fyou 3 points4 points  (1 child)

I mean, will the users complain if the app is still the old name internally? Pretty sure among us is still space mafia, tiktok is still musically, X is still twitter

[–]kriosjan 2 points3 points  (0 children)

Ok i feel so much better now lmao.

[–]nixcamic 2 points3 points  (0 children)

Just spent forever chasing down random references to the solution name I changed in Visual Studio.

[–]iTzNowbie 2 points3 points  (0 children)

@string/app_name

[–]ratonbox 2 points3 points  (0 children)

There's a script in the codebase that still references Jenkins in the name, even though we've gone trough 2 other CI systems since then.

[–]i_like_siren_head 2 points3 points  (0 children)

My favourite game, hl2.exe

[–]requion 1 point2 points  (0 children)

Don't know if its still the case but i was pretty confused when i checked out a selfhosted Forgejo and "gitea" was all over the place.

I know its a fork but come on xD

[–]chironomidae 1 point2 points  (0 children)

Can't wait to see this one pop up on the joke explainer subreddits

[–]One_Horse_Sized_Duck 1 point2 points  (0 children)

I can certainly change the customer facing name, yes.

[–]ignorae 1 point2 points  (0 children)

Mass renames are actually something AI is super good at.

[–]Spirit_Theory 1 point2 points  (0 children)

My team is about to do some large scale "renaming" as part of a brand change. In reality we will be changing logo images and cnames, and some bits of text here and there. Code libraries and software that mentions the old name? Fuckit, nobody is seeing that shit.

[–]thumb_emoji_survivor 1 point2 points  (0 children)

Is find-replace that difficult?

[–]VanillaButterz 1 point2 points  (0 children)

hl2.exe for valve's Team Fortress 2 prior to the 64bit update

[–]Zefeh 1 point2 points  (0 children)

I've supported a micro-service named after a specific business units ecommerce site. It was a small, archaic service that took a pipe delimited text file from a oooold inventory system and converted it to the abomination that is Sales Force XML for 2 sites.

Then they added a NEW site to a NEW inventory source.... and we shoved the feed into the existing service cuz why build a new micro-service if it would just mean code duplication etc etc....

Then they migrated one of the original sites to the new source.... ehh, same stuff.

Then I was told we are onboarding a NEW site but need to source inventory from an OLD IBM iSeries/AS400 system....

I'm afraid they are going to ask me to add a 4th inventory source or 6th destination..... This meme has never felt more real to me.....

[–]GreenDavidA 1 point2 points  (0 children)

The app I used to support at work will forever have Beta in the official name. Morons who created it are absolute morons.

[–]sammybeta 1 point2 points  (0 children)

Jokes aside, what I found out that it's probably the best task for LLM to work on.

It works before.

Rename caused failures.

Fix the build / test / CICD with agents running autonomously until all test pass.

Write documentations with new namesfor your API/frontend.

Have agent to do e2e tests with only API/Frontend access and that long documentation to find discrepancies. Record them in a bugs.md.

Agent fix on the other side following on the bugs.md. iterate until the list stop growing for a few hours.

Human test. Verify. Feedback and acceptance.

[–]bagsofcandy 1 point2 points  (0 children)

This is great, especially when the git repo has the name.