mastodon.gamedev.place is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server focused on game development and related topics.

Server stats:

5.1K
active users

#legacycode

1 post1 participant0 posts today
Dani Pardo<p>Touching code you haven't modified in 10 years feels.. sad.</p><p> Feels like lurking in a graveyard. It's lilke being in one of those dreams when you revive something that happened ages ago, it's full of monsters, I guess that's why we always feel the impulse of a complete rewrite, because all your shame flourishes in a moment. </p><p>And you cannot but recognize how small you are.</p><p><a href="https://fosstodon.org/tags/legacycode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycode</span></a></p>
Jesper Stemann Andersen<p>So, why is <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> involved in the blame for <a href="https://mastodon.social/tags/MicrosoftAzure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MicrosoftAzure</span></a> CLI upload to blob storage being weird?</p><p>Due to how <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> computes an MD5, and returns an array of 16 bytes instead of the more common hexadecimal string (the output of `xxd -r -p` in the cautionary tale).</p><p><a href="https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.md5?view=net-10.0#remarks" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">learn.microsoft.com/en-us/dotn</span><span class="invisible">et/api/system.security.cryptography.md5?view=net-10.0#remarks</span></a></p><p>An MD5 string is 32 bytes, so <a href="https://mastodon.social/tags/Microsoft" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Microsoft</span></a> saved 16 bytes by making it less easy to get an MD5 string... <a href="https://mastodon.social/tags/640kEnoughForAnyone" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>640kEnoughForAnyone</span></a></p><p><a href="https://mastodon.social/tags/MicrosoftLogic" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MicrosoftLogic</span></a> <a href="https://mastodon.social/tags/ShamelessTechShaming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ShamelessTechShaming</span></a> <a href="https://mastodon.social/tags/LegacyTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyTech</span></a> <a href="https://mastodon.social/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCode</span></a></p>
Jesper Stemann Andersen<p>I imagine it went down like this at the <a href="https://mastodon.social/tags/MicrosoftAzure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MicrosoftAzure</span></a> design meeting:</p><p>&gt; Microsoft engineer: We should store the MD5 of the content in the blob storage database.</p><p>&gt; Senior Microsoft engineer: Let's use <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> (!), and interpret the hexadecimal MD5 (with a newline!) as binary, and then base64 encode it!</p><p>They might have saved a couple of bytes... <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> ...👏 ...😬</p><p><a href="https://mastodon.social/tags/MicrosoftLogic" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MicrosoftLogic</span></a> <a href="https://mastodon.social/tags/ShamelessTechShaming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ShamelessTechShaming</span></a> <a href="https://mastodon.social/tags/LegacyTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyTech</span></a> <a href="https://mastodon.social/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCode</span></a> <a href="https://mastodon.social/tags/LegacyCodeProblems" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCodeProblems</span></a></p>
Jesper Stemann Andersen<p>But try uploading a single file to blob storage with the <a href="https://mastodon.social/tags/MicrosoftAzure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MicrosoftAzure</span></a> CLI! (and consume it with official <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> API's - which require an MD5 checksum for blobs)</p><p>Surely `az storage blob upload --file foo [account] [container] [dst]` is enough?</p><p>Wrong! You need `az storage blob upload --file foo --content-md5 $(md5sum foo | cut -d ' ' -f 1 | xxd -r -p | base64) [account] [container] [dst]` 😬</p><p>Likely due to doing stuff with <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a></p><p><a href="https://mastodon.social/tags/ShamelessTechShaming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ShamelessTechShaming</span></a> <a href="https://mastodon.social/tags/MicrosoftLogic" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MicrosoftLogic</span></a> <a href="https://mastodon.social/tags/LegacyTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyTech</span></a> <a href="https://mastodon.social/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCode</span></a></p>
Jesper Stemann Andersen<p>Surprised with how bad the <a href="https://mastodon.social/tags/MicrosoftAzure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MicrosoftAzure</span></a> CLI tool is for batch uploading files to blob storage.</p><p>If a file already exists you get a five-line long warning - per file. Fair enough (ish).</p><p>There is no command line switch to ignore the warning - and `--overwrite false` changes nothing: You still get thousands of warnings when uploading a set of files (where some may already exist) - and you are left wondering whether it succeeded. Not so fair.</p><p><a href="https://mastodon.social/tags/ShamelessTechShaming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ShamelessTechShaming</span></a> <a href="https://mastodon.social/tags/MicrosoftLogic" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MicrosoftLogic</span></a> <a href="https://mastodon.social/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCode</span></a></p>
InfoQ<p>Legacy Systems = tightly coupled architectures hard to scale, change &amp; maintain.</p><p>National Grid tackled this with 4 paradigms:<br>1️⃣ <a href="https://techhub.social/tags/DomainDrivenDesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DomainDrivenDesign</span></a><br>2️⃣ <a href="https://techhub.social/tags/TeamTopologies" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TeamTopologies</span></a><br>3️⃣ <a href="https://techhub.social/tags/EventDrivenArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EventDrivenArchitecture</span></a><br>4️⃣ <a href="https://techhub.social/tags/ChangeDataCapture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ChangeDataCapture</span></a></p><p>Details in the <a href="https://techhub.social/tags/InfoQ" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>InfoQ</span></a> article ⇨ <a href="https://bit.ly/44UplDs" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bit.ly/44UplDs</span><span class="invisible"></span></a> </p><p><a href="https://techhub.social/tags/SoftwareArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareArchitecture</span></a> <a href="https://techhub.social/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCode</span></a></p>
The Breakpoint Show<p>Migrating from .NET Framework to modern .NET? In the latest Breakpoint Show, we chat with Tomas Herceg about what developers need to know before moving legacy code to today’s standards. Don’t miss this expert-packed episode!</p><p><a href="https://mastodon.social/tags/DotNET" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DotNET</span></a> <a href="https://mastodon.social/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCode</span></a></p><p><a href="https://www.breakpoint.show/podcast/episode-039-dont-call-my-net-baby-ugly/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">breakpoint.show/podcast/episod</span><span class="invisible">e-039-dont-call-my-net-baby-ugly/</span></a></p>
codesai<p>Acabamos de publicar una traducción al español con algunas mejoras y actualizaciones de nuestro post sobre mutation testing "Relevant mutants":</p><p>Mutantes relevantes <a href="https://codesai.com/posts/2025/04/mutantes-relevantes" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codesai.com/posts/2025/04/muta</span><span class="invisible">ntes-relevantes</span></a></p><p><a href="https://mastodon.cloud/tags/testing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>testing</span></a> <a href="https://mastodon.cloud/tags/legacy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacy</span></a> <a href="https://mastodon.cloud/tags/legacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacyCode</span></a> <a href="https://mastodon.cloud/tags/mutationtesting" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mutationtesting</span></a> <a href="https://mastodon.cloud/tags/tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tech</span></a> <a href="https://mastodon.cloud/tags/typescript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>typescript</span></a> <a href="https://mastodon.cloud/tags/software" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>software</span></a> <a href="https://mastodon.cloud/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareEngineering</span></a></p>
Dominik<p>I've just opened an old <a href="https://phpc.social/tags/Angular" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Angular</span></a> app of mine and the horrors of *ngIf started haunting me again.</p><p>If I had to choose the biggest improvement since Angular 2, it's @if and @for etc.</p><p><a href="https://phpc.social/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCode</span></a></p>
Chris C<p>The schedule for MenderCon 2025 (May 15th) main stage sessions has been posted. You can view the sessions and get tickets on our website. Tickets are pay what you want.</p><p><a href="https://mendercon.com/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">mendercon.com/</span><span class="invisible"></span></a></p><p>Videos of past main stage presentations can be found at:</p><p><a href="https://www.youtube.com/@mendercon" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">youtube.com/@mendercon</span><span class="invisible"></span></a></p><p>MenderCon 2025 is a full-day virtual unconference that focuses on modernizing and improving software systems. If you aren't interested in the main stage sessions, you can pitch your own session or attend someone else's pitched session. </p><p>Give me a shout if you have any questions. Hope to see you there.</p><p><a href="https://hachyderm.io/tags/mendercon" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mendercon</span></a> <a href="https://hachyderm.io/tags/mendercon2025" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mendercon2025</span></a> <a href="https://hachyderm.io/tags/legacycoderocks" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycoderocks</span></a> <a href="https://hachyderm.io/tags/legacycode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycode</span></a></p>
Yuna<p>Coding is easier than ever. That’s why no one actually codes anymore.</p><p>Once, compiling took 30 minutes. Now, downloading dependencies does.</p><p>I started with a text editor, every line deliberate, every recompile an ordeal. My code was built to last. No frameworks, few dependencies, a simple bash script to build &amp; deploy.</p><p>Now? I compile in milliseconds… only to wait hours for linters, CI/CD, IaC, PR rituals &amp; YAML sacrifices. I am no longer an engineer. I am a high priest in a temple of abstraction.</p><p>Performance? A joke. Code once ran fast because it had to. Today, it’s an obese stack of best-practice boilerplate. Innovation? No, just rebranded complexity.</p><p>Legacy? We create it faster than ever. The lifespan of a framework is measured in months. But don’t worry, we’ll rebrand it &amp; call it progress.</p><p><a href="https://hachyderm.io/tags/Programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Programming</span></a> <a href="https://hachyderm.io/tags/SoftwareDevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareDevelopment</span></a> <a href="https://hachyderm.io/tags/Code" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Code</span></a> <a href="https://hachyderm.io/tags/DevLife" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DevLife</span></a> <a href="https://hachyderm.io/tags/Tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Tech</span></a> <a href="https://hachyderm.io/tags/CodingHumor" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CodingHumor</span></a> <a href="https://hachyderm.io/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LegacyCode</span></a> <a href="https://hachyderm.io/tags/BestPractices" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BestPractices</span></a> <a href="https://hachyderm.io/tags/Innovation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Innovation</span></a> <a href="https://hachyderm.io/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareEngineering</span></a> <a href="https://hachyderm.io/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a> <a href="https://hachyderm.io/tags/Programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Programming</span></a></p>
codesai<p>New post:</p><p>Sprouting or wrapping?<br><a href="https://codesai.com/posts/2025/03/sprouting-or-wrapping" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codesai.com/posts/2025/03/spro</span><span class="invisible">uting-or-wrapping</span></a></p><p><a href="https://mastodon.cloud/tags/refactoring" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>refactoring</span></a> <a href="https://mastodon.cloud/tags/technicaldebt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>technicaldebt</span></a> <a href="https://mastodon.cloud/tags/cleancode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cleancode</span></a> <a href="https://mastodon.cloud/tags/legacy_code" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacy_code</span></a> <a href="https://mastodon.cloud/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareEngineering</span></a> <a href="https://mastodon.cloud/tags/TechDebt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TechDebt</span></a> <a href="https://mastodon.cloud/tags/CodeQuality" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CodeQuality</span></a> <a href="https://mastodon.cloud/tags/Tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Tech</span></a> <a href="https://mastodon.cloud/tags/code_smells" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>code_smells</span></a> <a href="https://mastodon.cloud/tags/legacycode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycode</span></a></p>
Chris C<p>Were you thinking of presenting at MenderCon 2025 but haven't gotten around to submitting your talk yet? Don't delay any longer as the Call for Papers (CFP) closes on March 15th, 2025. You can submit your CFP using the link below:</p><p><a href="https://www.papercall.io/mendercon-2025" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">papercall.io/mendercon-2025</span><span class="invisible"></span></a></p><p>Your subject could include (but is not limited to):</p><p>- legacy code<br>- deploying legacy systems<br>- dependency freshness<br>- bug hunting<br>- refactoring<br>- menders vs. makers<br>- tech debt<br>- AI vs. legacy code</p><p>It’s a polyglot conference, so feel free to use any programming language in your presentation. See previous MenderCon scheduled presentations on YouTube:</p><p><a href="https://www.youtube.com/@mendercon" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">youtube.com/@mendercon</span><span class="invisible"></span></a></p><p>MenderCon (May 15th, 2025) is a full-day virtual conference focused on modernizing and improving software systems. There are two tracks, one for scheduled presentations, the CFP above, and a track for unconference where attendees create presentations, workshops, panels, and discussions on the fly. More details:</p><p><a href="https://mendercon.com/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">mendercon.com/</span><span class="invisible"></span></a></p><p><a href="https://hachyderm.io/tags/mendercon" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mendercon</span></a> <a href="https://hachyderm.io/tags/cfp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cfp</span></a> <a href="https://hachyderm.io/tags/legacycode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycode</span></a> <a href="https://hachyderm.io/tags/legacycoderocks" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycoderocks</span></a> <a href="https://hachyderm.io/tags/mendercon2025" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mendercon2025</span></a></p>
Manuel Rivero<p>Republishing an old <span class="h-card"><a href="https://mastodon.cloud/@codesai" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>codesai</span></a></span> 's post on Dev community:</p><p>Relevant mutants <br><a href="https://dev.to/trikitrok/relevant-mutants-3d67" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">dev.to/trikitrok/relevant-muta</span><span class="invisible">nts-3d67</span></a></p><p><span class="h-card"><a href="https://fosstodon.org/@thepracticaldev" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>thepracticaldev</span></a></span> </p><p><a href="https://mastodon.cloud/tags/legacycode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycode</span></a> <a href="https://mastodon.cloud/tags/technicaldebt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>technicaldebt</span></a> <a href="https://mastodon.cloud/tags/cleancode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cleancode</span></a> <a href="https://mastodon.cloud/tags/testing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>testing</span></a> <a href="https://mastodon.cloud/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareEngineering</span></a> <a href="https://mastodon.cloud/tags/TechDebt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TechDebt</span></a> <a href="https://mastodon.cloud/tags/CodeQuality" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CodeQuality</span></a> <a href="https://mastodon.cloud/tags/tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tech</span></a> <a href="https://mastodon.cloud/tags/DEVCommunity" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DEVCommunity</span></a> <a href="https://mastodon.cloud/tags/mutationtesting" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mutationtesting</span></a></p>
The Dutch PHP Conference<p>Fix technical debt before it breaks your project! 🛠️ Join Borna Matijanić at the Dutch PHP Conference. 🔗 <a href="https://phpconference.nl/session/technical-debt-autopsy-real-world-lessons-from-rescuing-challenging-projects/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">phpconference.nl/session/techn</span><span class="invisible">ical-debt-autopsy-real-world-lessons-from-rescuing-challenging-projects/</span></a> </p><p><a href="https://mastodon.social/tags/php" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>php</span></a> <a href="https://mastodon.social/tags/technicaldebt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>technicaldebt</span></a> <a href="https://mastodon.social/tags/DPC25" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DPC25</span></a> <a href="https://mastodon.social/tags/legacycode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycode</span></a></p>
Matt<p><strong>Humans are like legacy code</strong></p><p>The organisation has deployed billions of (mostly) self-organising copies of the system, each running slightly different code. These instances often conflict with each other, even though you sometimes need hundreds of instances to complete a single task.</p><p>There’s code that’s left over from early versions, which probably does nothing, but everyone is afraid to take it out just in case. </p><p>Nobody knows what it all does. Some code was copied and pasted in from some other unrelated system.</p><p>Some processes crash so frequently that other processes exist to delete them. This does not always work, which can result in zombie processes which replicate while refusing the kill command. There are whole departments that are tasked with fighting these processes.</p><p>There are functions that are no longer used except when a bug happens.</p><p>A single change can impact multiple unrelated areas. </p><p>Some classes have multiple unrelated responsibilities. Some features rely on undefined behaviour in other sections. </p><p>There is a redundant copy of the code, which differs hugely. Both are in regular use. The code makes copies of itself frequently and with less than stellar accuracy.</p><p>The whole thing might be an old AI experiment. It works best with regular data input, taking years to fully train. It is okay at a range of tasks but sometimes outputs entirely fictional nonsense such as a flat earth, lizard people, and democracy if not carefully trained. </p><p>The whole system exists primarily to generate a replacement codebase for when the current one inevitably stops working. This can introduce new bugs.</p><p><a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://node.lordmatt.co.uk/tag/code/" target="_blank">#code</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://node.lordmatt.co.uk/tag/dna/" target="_blank">#DNA</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://node.lordmatt.co.uk/tag/humans/" target="_blank">#humans</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://node.lordmatt.co.uk/tag/humour/" target="_blank">#Humour</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://node.lordmatt.co.uk/tag/legacy-code/" target="_blank">#legacyCode</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://node.lordmatt.co.uk/tag/life-is-strange/" target="_blank">#lifeIsStrange</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://node.lordmatt.co.uk/tag/people-are-wierd/" target="_blank">#peopleAreWierd</a></p>
gafanhoto<p>Why is legacy code hell on earth? <a href="https://chat-to.dev/post?id=OGdNc0w1T291RFFKUG52Nk1wODlrZz09&amp;redirect=/new" rel="nofollow noopener noreferrer" target="_blank">https://chat-to.dev/post?id=OGdNc0w1T291RFFKUG52Nk1wODlrZz09&amp;redirect=/new</a> <a href="https://kbin.earth/tag/legacycode" rel="nofollow noopener noreferrer" target="_blank">#legacycode</a> <a href="https://kbin.earth/tag/programming" rel="nofollow noopener noreferrer" target="_blank">#programming</a> <a href="https://kbin.earth/tag/developers" rel="nofollow noopener noreferrer" target="_blank">#developers</a> <a href="https://kbin.earth/tag/softwaredevelopment" rel="nofollow noopener noreferrer" target="_blank">#softwaredevelopment</a> <a href="https://kbin.earth/tag/code" rel="nofollow noopener noreferrer" target="_blank">#code</a></p>
Caravana Blues<p>Why is legacy code hell on earth? <a href="https://chat-to.dev/post?id=OGdNc0w1T291RFFKUG52Nk1wODlrZz09&amp;redirect=/new" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">chat-to.dev/post?id=OGdNc0w1T2</span><span class="invisible">91RFFKUG52Nk1wODlrZz09&amp;redirect=/new</span></a> <a href="https://mastodon.social/tags/legacycode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycode</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/developers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>developers</span></a> <a href="https://mastodon.social/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>softwaredevelopment</span></a> <a href="https://mastodon.social/tags/code" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>code</span></a></p>
Andreu Casablanca 🐀<p>Looking for advice on how to refactor legacy <a href="https://hachyderm.io/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://hachyderm.io/tags/frontend" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>frontend</span></a> code (My expertise is on backend).</p><p>I know how to write relatively clean JS / <a href="https://hachyderm.io/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> for frontend in modern setups with modern tooling, but I'm not sure how to proceed with thousands-of-lines long files that are directly included as they are, so I can transition to having smaller &amp; cleaner files and using static analysis tools that give me some peace of mind.</p><p>My only achievement so far with my current project is that I run <a href="https://hachyderm.io/tags/BiomeJS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BiomeJS</span></a> on some selected files.</p><p>I'm relying on <a href="https://hachyderm.io/tags/JSDoc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JSDoc</span></a> for now, but "for my eyes only", I'm not using this typing information to validate anything.</p><p><a href="https://hachyderm.io/tags/refactoring" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>refactoring</span></a> <a href="https://hachyderm.io/tags/legacycode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>legacycode</span></a></p>
Viktor Glukozavr Kurochkin<p>It’s expected for management to not understand some technical implications, but what surprised me is how engineers in the past, who moved to management, eventually forget the complexity of the job and only remember how everything is possible and potentially easy to do.</p><p>These real life analogies always put a smile on my face, once they make things hard to explain so obvious and ridiculous.</p><p><a href="https://mastodon.gamedev.place/tags/programming" class="mention hashtag" rel="tag">#<span>programming</span></a> <a href="https://mastodon.gamedev.place/tags/it" class="mention hashtag" rel="tag">#<span>it</span></a> <a href="https://mastodon.gamedev.place/tags/software" class="mention hashtag" rel="tag">#<span>software</span></a> <a href="https://mastodon.gamedev.place/tags/engineering" class="mention hashtag" rel="tag">#<span>engineering</span></a> <a href="https://mastodon.gamedev.place/tags/softwarearchitecture" class="mention hashtag" rel="tag">#<span>softwarearchitecture</span></a> <a href="https://mastodon.gamedev.place/tags/legacycode" class="mention hashtag" rel="tag">#<span>legacycode</span></a></p>