#technicaldebt — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #technicaldebt, aggregated by home.social.
-
"Brace for Patch Tsunami" -- AI used in the hands of "skilled and knowledgable" people is supposedly going to surface a vast pool or latent bugs (technical debt .. be very afraid). Reports here and elsewhere ndicate that like most AI claims, it's mostly slop. Apparently AI is not being used by "skilled and knowledgable individuals" willing to actually verify that AI found anything real or is just wrong.
#technicaldebt #bugs #defects #ai
https://www.theregister.com/2026/05/02/ncsc_brace_for_patch_tsunami/ -
What's the best way to approach technical debt?
Read more here:
https://bgh.st/4spa4k -
Graph Construction Complete: 21 nodes, 12 edges.
Primary Drivers: ['CVE-2025-40739', 'CVE-2025-40740', 'CVE-2025-3508'] -
#databases #sqlserver #technicalDebt #entityFramework
So... At work, our product has many data grids, and uses Entity Framework, most of the grids are paged.
Paging is done viaawait orderedQuery. Skip((page-1)*pageSize). Take(pageSize).TolistAsync()
Page 2 loads had always been slow. EF "optimises" the generated query to use one parameter for the second page because page 2 is... .Skip((1-1)*pageSize).Take(pageSize) ...
Both resolve to the same value. EF says "same value, same parameter!" Find whatever.
Except... SQL server builds and uses a different (and more costly) plan for the resultingOFFSET \@p ROWS LIMIT \@pthat is consistently worse than it they had didn't values that producesOFFSET \@p1 ROWS LIMIT \@p2Apparently it's been a known problem for a long time.
Until someone as dumb as me asks... Why not Skip as much as normal and Take one extra then don't use it the extra.
(await orderedQuery. Skip((page-1)*pageSize). Take(pageSize+1).TolistAsync()).Take(pageSize)/1
-
The only solution to tech debt is to go fix all of it right away.
Read more here:
https://www.devleader.ca/2023/10/20/how-to-balance-technical-debt-tackle-it-before-it-tackles-you/ -
Microsoft’s “Microslop” Discord Ban Backfires: What AI Builders Can Learn from This Epic Moderation Fail
2,644 words, 14 minutes read time.
The “Microslop” Catalyst: When Automated Moderation Becomes a PR Liability
The recent escalation on Microsoft’s official Copilot Discord server serves as a stark reminder that in the high-stakes world of generative AI, the community’s perception of quality is as vital as the underlying architecture itself. In early March 2026, what began as a routine effort to maintain decorum within a product-support hub rapidly spiraled into a live case study of the Streisand Effect. Reports from multiple industry outlets confirmed that Microsoft had implemented a blunt, automated keyword filter designed to silently delete any message containing the term “Microslop.” This derogatory portmanteau has been increasingly used by developers and power users to describe what they perceive as low-quality, intrusive, or “sloppy” AI integrations within the Windows ecosystem. While the corporate intent was likely to prune what a spokesperson later categorized as “coordinated spam,” the execution triggered a tidal wave of digital civil disobedience. Instead of silencing the critics, the automated system provided a focal point for them, validating the sentiment that the tech giant was more interested in brand preservation than addressing the technical grievances that birthed the nickname.
Analyzing the root of this frustration reveals that the term “slop” is often an emotional reaction to a very real technical burden placed on the developer community. For instance, attempting to upgrade a SharePoint Framework (SPFx) project from version 1.14.x to the recently released 1.22.x is frequently described by those in the trenches as a “blood bath” of error messages and cryptic warnings. The transition is not merely a version bump; it is an overhaul of the build toolchain that often leaves developers debugging deep-seated errors that appear to stem from AI-generated or “slop-induced” bugs within M365 and community plug-ins. When a developer spends three days chasing an error only to find it buried in a low-quality, automated code suggestion or a poorly integrated community tool, the “Microslop” label stops being a joke and starts being an accurate description of a broken workflow. This disconnect between Microsoft’s “AI-first” marketing and the gritty, error-prone reality of its development frameworks is precisely why a simple keyword filter was never going to be enough to contain the community’s mounting resentment.
The Streisand Effect: How Censorship Becomes a Signal
The failure of the “Microslop” ban is a textbook example of how heavy-handed moderation can amplify the very information it seeks to suppress. In the context of AI builders, this incident highlights the danger of using automated tools to sanitize discourse, as it inadvertently creates a “badge of resistance” for the user base. Every bypassed filter and every subsequent ban on the Copilot Discord became a signal to the broader industry that there was a significant rift between Microsoft’s narrative of AI “sophistication” and the community’s lived experience with the product. Furthermore, by escalating from keyword filtering to a full server lockdown, Microsoft effectively confirmed the power of the “Microslop” label. This elevated the term from a minor annoyance to a headline-grabbing symbol of corporate insecurity, demonstrating that the more a corporation tries to hide a piece of information, the more the public will seek it out and amplify it.
This phenomenon is particularly dangerous for AI-centric companies because the technology itself is already under intense scrutiny for its reliability and ethical implications. If a builder cannot manage a community hub without resorting to blunt-force censorship, it raises uncomfortable questions about how they manage the more complex, nuanced guardrails required for the Large Language Models (LLMs) themselves. The internet rarely leaves such attempts at suppression unpunished; in this case, the ban led to the creation of browser extensions and scripts specifically designed to spread the nickname across the web. This demonstrates that in 2026, community management is no longer just an administrative task; it is a critical component of brand integrity that requires a much more sophisticated approach than a simple “find and replace” blocklist. Builders must recognize that transparency is the only effective dampener for the Streisand Effect, as any attempt to use automation to hide dissatisfaction only serves to validate the critics.
Why the “Slop” Narrative Resonates: The Technical Quality Gap
At the heart of the “Microslop” controversy lies a deeper, more substantive issue regarding the growing perception that AI integration has entered a period of diminishing returns, often referred to as the “slop” era. The term “slop” gained significant cultural weight after major linguistic authorities and industry analysts began using it to specifically define the flood of low-quality, mass-produced AI content clogging the modern internet. When users apply this term to a tech giant, they are not merely engaging in schoolyard insults; they are expressing a technical frustration with the way generative AI features have been integrated into a legacy operating system. Analyzing the user feedback leading up to the Discord lockdown reveals a clear pattern of “quantity over quality” in the deployment of Copilot. Developers and power users have documented numerous instances where AI components were perceived as being forced into core OS functions like Notepad, File Explorer, and Task Manager, often at the expense of system latency and overall stability.
This quality gap is precisely what gave the “Microslop” nickname its viral potency, as it hit upon a verifiable truth regarding the current state of the software. If the AI integration were universally recognized as seamless, high-value, and technically flawless, the derogatory label would have failed to gain traction among the engineering community. However, because the term captured a widespread sentiment that the software was becoming bloated with unrefined, “sloppy” code that prioritizes corporate AI metrics over actual user utility, the attempt to ban the word felt like an attempt to ban the truth itself. For AI builders, this serves as a critical warning that one cannot moderate their way out of a fundamental quality problem. If a community begins to categorize a product’s output as “slop,” the correct response is not to update the server’s AutoMod settings to include the word on a prohibited list; the solution is to re-evaluate the product roadmap and address the technical regressions causing the friction.
Root Cause Analysis: The Failure of Brittle Automation in Community Governance
The technical root cause of the Discord meltdown can be traced back to the implementation of “naive” or “brittle” automation—a common pitfall for organizations that treat community management as a purely administrative task. Microsoft’s moderation team relied on a basic fixed-string match filter, which is the mos
Furthermore, the automation failed to account for context, which is the most vital component of any successful moderation strategy. The bot reportedly flagged every instance of the word “Microslop,” regardless of whether the user was using it as an insult, asking a question about the controversy, or providing constructive criticism. By labeling a corporate nickname with the same “inappropriate” tag usually reserved for hate speech or harassment, the automated system actively insulted the intelligence of the user base. This lack of nuance in the AI-driven moderation stack created a pressure cooker environment where every automated deletion was viewed as an act of corporate censorship. For AI builders, the lesson is that any automation deployed for community governance must be as sophisticated as the product it supports. Relying on 1990s-era keyword filtering to manage a 2026-era AI community is a recipe for disaster, as it signals a lack of technical effort that only further reinforces the “slop” narrative the organization is trying to escape.
The Strategic Shift: Moving Beyond Blunt Force Suppression
The failure of the “Microslop” ban highlights a critical strategic inflection point for AI builders who must navigate the increasingly volatile waters of developer communities. Relying on blunt-force suppression as a first-line defense against product criticism is a strategy rooted in legacy corporate communication models that are incompatible with the transparent, decentralized nature of modern technical hubs. When a tech giant attempts to scrub a derogatory term from its digital ecosystem, it effectively abdicates its role as a collaborator and assumes the role of an adversary. This shift in posture is particularly damaging in the context of generative AI, where the success of a platform like Copilot is heavily dependent on the feedback loops and integrations created by the very developers who feel alienated by such heavy-handed moderation. Instead of viewing these “slop” accusations as a nuisance to be silenced, sophisticated AI organizations should view them as high-fidelity data points indicating where the gap between marketing hype and functional utility has become too wide to ignore.
Consequently, the move toward resilient community management requires a transition from “policing” to “pivoting.” Analyzing the fallout from the March 2026 lockdown reveals that the most effective way to neutralize a pejorative nickname is to address the technical deficiencies that gave the name its power. For instance, if users are labeling an AI integration as “slop” due to high latency, resource bloat, or inconsistent output, the strategic response should involve a public-facing commitment to performance benchmarks and a transparent roadmap for optimization. By engaging with the substance of the criticism rather than the semantics of the label, a builder can naturally erode the legitimacy of the mockery. Microsoft’s decision to hide behind a locked Discord server suggests a lack of preparedness for the “friction” that inevitably accompanies the rollout of transformative technologies. To avoid this pitfall, builders must ensure that their community teams are empowered with technical context and the authority to translate community outrage into actionable product requirements, rather than being relegated to the role of digital janitors tasked with sweeping dissent under the rug.
Building Resilience: Lessons in Context-Aware Governance
For AI startups and established enterprises alike, the “Microslop” debacle provides a definitive masterclass in the necessity of context-aware governance. The primary technical takeaway is that community moderation in 2026 must be as intellectually rigorous as the models being developed. A sophisticated governance stack would utilize sentiment analysis and intent recognition to differentiate between a user engaging in harassment and a user expressing a legitimate, albeit sarcastically phrased, grievance. By failing to integrate these more nuanced AI capabilities into their own moderation tools, Microsoft inadvertently signaled a lack of confidence in the very technology they are asking the world to adopt. If an AI leader cannot trust its own systems to handle a Discord meme without resorting to a total server blackout, it becomes significantly harder to convince enterprise clients that the same technology is ready to handle mission-critical business logic or sensitive customer interactions.
Furthermore, building a resilient community requires a fundamental acceptance of the “ugly” side of product development. In the age of social media and rapid-fire developer feedback, mistakes will be memed, and failures will be christened with catchy, derogatory nicknames. Attempting to legislate these memes out of existence is a losing battle that only serves to accelerate the Streisand Effect. Instead, AI builders should focus on creating “high-trust environments” where users feel that their feedback—no matter how unpolished or “sloppy” it may be—is being ingested as a valuable resource. This involves maintaining open channels even during a PR crisis and resisting the urge to implement “emergency” filters that treat your most vocal users like hostile actors. By prioritizing stability, transparency, and technical excellence over brand hygiene, organizations can transform a potential “Microslop” moment into a demonstration of corporate maturity and a commitment to long-term product quality.
From Damage Control to Product Discipline: Reclaiming the Narrative
The ultimate fallout of the Microsoft Discord lockdown serves as a definitive case study in why AI builders must prioritize technical discipline over narrative control. When a corporation attempts to “engineer” a community’s vocabulary through restrictive automation, it inadvertently signals a lack of confidence in the underlying product’s ability to speak for itself. Analyzing the broader industry trends of 2026, it becomes clear that the “slop” label is not merely a social media trend but a technical critique of the current state of LLM integration. For a developer audience, the transition from “Microsoft” to “Microslop” in common parlance was a direct reaction to perceived regressions in software performance and the intrusion of non-essential AI telemetry into stable workflows. By focusing on the removal of the word rather than the remediation of the code, Microsoft missed a critical opportunity to demonstrate the “sophistication” that CEO Satya Nadella has publicly championed. Builders must realize that in a highly literate technical ecosystem, the only way to effectively kill a derogatory meme is to make it irrelevant through superior engineering and undeniable user value.
Furthermore, the “Microslop” incident underscores the necessity of a unified strategy between product engineering and community management. In many large-scale tech organizations, these departments operate in silos, leading to situations where a community manager implements a blunt-force keyword filter without realizing it contradicts the broader corporate message of AI-driven nuance and intelligence. This strategic misalignment is what allowed a minor moderation decision to balloon into a global PR crisis that dominated tech headlines for a week. To build a resilient AI brand, organizations must ensure that their automated governance tools are reflective of their core technological promises. If your product is marketed as an “intelligent companion,” your moderation bot cannot behave like a primitive 1990s-era blacklist. Moving forward, the industry must adopt a “feedback-first” architecture where automated tools are used to categorize and elevate user frustration to engineering teams, rather than acting as a digital firewall designed to protect executive sensibilities from the harsh reality of user sentiment.
Conclusion: The Lasting Legacy of the “Slop” Era
The March 2026 Discord lockdown will likely be remembered as the moment “Microslop” transitioned from a niche joke to a permanent fixture of the AI era’s vocabulary. Microsoft’s attempt to use automated moderation as a shield against criticism backfired because it ignored the fundamental law of the digital age: the more you try to hide a grievance, the more you validate its existence. For those of us building in the AI space, the lessons are clear and uncompromising. We must build with transparency, moderate with context, and never mistake a blunt-force keyword filter for a comprehensive community strategy. If we want our products to be associated with innovation rather than “slop,” we must earn that reputation through technical excellence and genuine engagement, not through the silent deletion of our critics’ messages. In the end, Microsoft didn’t just ban a word; they inadvertently launched a movement, proving that even the world’s most powerful tech companies remain vulnerable to the power of a well-timed, nine-letter meme and the undeniable force of the Streisand Effect.
Call to Action
If this breakdown helped you think a little clearer about the threats out there, don’t just click away. Subscribe for more no-nonsense security insights, drop a comment with your thoughts or questions, or reach out if there’s a topic you want me to tackle next. Stay sharp out there.
D. Bryan King
Sources
- PCMag: Microsoft Effort to Ban ‘Microslop’ on Copilot Discord Didn’t Go As Planned
- Windows Latest: Microsoft Locks Copilot Discord After Moderation Backlash
- Futurism: Microsoft Bans “Microslop” on Discord, Gets So Humiliated It Locks Server
- Gizmodo: Microsoft Bans Term ‘Microslop’ From Official Discord Server
- PC Gamer: Microsoft banned the word ‘Microslop’ in its Copilot Discord server
- It’s FOSS: Microsoft Locks Down Discord Server Over “Microslop” Posts
- Slashdot: Microsoft Bans ‘Microslop’ On Its Discord, Then Locks the Server
- Ground News: Microsoft Locks Down Discord Server After Microslop Ban Backfires
- Mysterium VPN: Microsoft Banned “Microslop” on Discord, Then Panicked
- Kotaku: Flood Of ‘Microslop’ Messages Forces Microsoft’s Official Copilot AI Discord Into Lockdown
- WinBuzzer: Microsoft Bans ‘Microslop’ on Discord, Locks Server After Backlash
- NIST: AI Risk Management Framework
- CISA: Secure by Design Principles for AI
Disclaimer:
The views and opinions expressed in this post are solely those of the author. The information provided is based on personal research, experience, and understanding of the subject matter at the time of writing. Readers should consult relevant experts or authorities for specific guidance related to their unique situations.
Related Posts
Rate this:
#AIBuilders #AIDisruption #AIEthics #AIFeedbackLoops #AIHallucinations #AIInfrastructure #AIIntegration #AIMarketPerception #AIProductStrategy #AIReliability #AISecurity #AISlop #AISophistication #AITransparency #AutomatedModeration #BrandIntegrity #BuildToolchain #codeQuality #CommunityManagement #CommunityModeration #ContextAwareModeration #Copilot #CorporateCensorship #developerExperience #DeveloperFriction #DeveloperRelations #DigitalCivilDisobedience #DiscordBan #DiscordLockdown #enterpriseAI #FeatureCreep #generativeAI #Ghostwriting #GulpToHeft #KeywordFiltering #LLMGuardrails #M365Plugins #Microslop #Microsoft #Microsoft365 #MicrosoftRecall #OpenSourceCommunity #ProductManagement #SatyaNadella #SentimentAnalysis #SharePointFramework122 #SoftwareBloat #SoftwareLifecycle #SoftwareQuality #SPFx114 #SPFxUpgrade #StreisandEffect #TechIndustryTrends2026 #TechPRFailure #TechnicalBlogging #technicalDebt #userPrivacy #UserTrust #Windows11AI -
Accessibility Progress and Healthy Engineering Teams, by @hbuchel:
https://heather-buchel.com/blog/2026/02/accessibility-is-an-engineering-health-indicator/
-
I normally like Kohler’s column when he unpacks economic news, but when he digresses into tech topics, I’m less likely to read him. I did this time (because things may change after all) but all I got from it is GenAI KoolAid and vaguely hinted at problems that #TechBros are keen on glossing over.
It is a pity that the author is not turning his analytical mind to take a closer look at what the frenetic pace of #GenAI development and the #GenAISlop it splashes about the place as it inexorably pushes forward with not only #TechnicalDebt but also #CognitiveDebt laden implementations. Sooner than we think, we’ll be faced with problems we do not know how to solve for want of the ability to #FaultFind in a sea of #sloppy and #incomprehensible machine produced code mashups.
Where to an economy held hostage to runaway coding machines? The ‘wagering system’ that is the stock market will start to look like ‘doctored’ one-arm bandits of yore. Where the wealth will flow is very obvious.
#EatTheRich #Antifa #Resistance #RedistributeWealth #UBI
#TaxReform
https://www.abc.net.au/news/2026-02-16/ai-jobs-fake-breakthrough-resignation-chat-gpt-claude/106346440 -
+1 for a Tenacity XMPP conference room!
I just got my XMPP server running again -- one small payment towards my technical debt.
-
Chuyên gia phát triển 12 sản phẩm Micro-SaaS trong 2 năm giúp khởi động MVP hoặc tích hợp AI.
#MicroSaaS #SaaS #AI #KhởiNghiệp #PhátTriểnSảnPhẩm #TíchHợpAI #RapidMVPDevelopment #TechnicalDebthttps://www.reddit.com/r/SaaS/comments/1qrxm53/built_12_microsaas_products_in_2_years_if_youre/
-
Eliminate future technical debt and compliance risk. Engage your Fractional Chief Data Strategist to architect data sovereignty. We deliver a master blueprint for a scalable, secure, and resilient data infrastructure—from AWS cloud to data lake solutions. Executive-level insurance for a future-proof foundation. Book your consult: $250.
#DataInfrastructure #DataGovernance #CloudArchitecture #FractionalCDS #TechnicalDebt
-
🚀 Another day, another self-important tech bro sermonizing about "saving the day" with the most cringeworthy hack imaginable. 🙄 Apparently, racking up technical debt is the new hero's journey. Spoiler: if it's labeled "best worst," maybe it's just... bad? 👏
https://jeffersonheard.ghost.io/the-best-worst-hack-that-saved-our-bacon/ #techbro #cringe #selfimportance #technicaldebt #badideas #herojourney #HackerNews #ngated -
Does Your Team Produce ‘Bugs’?
Do your stakeholders think you produce 'Bugs'?
"A problem found in the production environment that prevents software from functioning as we encoded it."
I recommend #bugs are different than #defects, and #technicaldebt.
-
#TechnicalDebt is often used as a metaphor for communicating the long-term implications of architectural decisions & trade-offs to stakeholders.
But is it always accurate? The Technical Debt metaphor is misleading because much of the so-called debt never needs to be, and in fact isn’t, repaid.
For a deeper dive into this perspective, check out the #InfoQ article by Pierre Pureur & Kurt Bittner.
Read now: https://bit.ly/3ZpFP44
#SoftwareArchitecture #Agile #MVA #MinimumViableArchitecture
-
There’s one thing that consistently showed up in my work as a software engineer over the decades. Spaghetti.
Spaghetti code is easier to write than maintain, and in doing software archaeology (yes, it’s a thing), I’ve encountered numerous reasons for it. Requirements creep is one of the largest reasons.
In fact, the first real software archaeology I did was explained, proudly, as being a product of someone walking in and telling the developer, “Wouldn’t it be nice if…”. Of course, nobody wrote anything down, and by the time I got to it the software was 25 years old and didn’t even have a brochure. People were still walking in and saying, “Wouldn’t it be nice if…”. Meanwhile, the company was required to follow standard software processes because it was required for contracts.
So I learned, from good teachers and a few bad ones, about Software Configuration Management, Software Quality Assurance, and Software Testing. There were reasons we did things a certain way. Our project configuration management contained everything needed to rewrite the software from scratch, including every single tool. I’d actually done a backup of a development pc after writing down the hardware specifications of the system and handed that in because quality assurance had to be able to take the same stuff and rebuild the same software so that it could be tested.
From scratch. And it had to pass the same tests. From scratch.
What I saw in other companies after that was never at that level, and on the surface it seemed ridiculous. However, any software engineer worth their weight in skittles has been screwed over by a platform changing underneath the code. Windows was infamous for it, though I did encounter it in an Apple shop as well. Your code hasn’t changed, but some update suddenly had you in the middle of bug city without even a flip flop. Microsoft has been notorious about that, with their version back in the day called DLL Hell. It’s just their (old) version of dependency hell.
I never had the problem with *nix systems, though when open source became popular and everyone started using that in their code, *nix systems started to get it too. People blamed the open source, but it was really 2 things that caused the problem.
(1) Bad Configuration Management (if it even existed!) and
(2) Taking the open source project for granted.Open Source projects that are done voluntarily are completely outside the control of a company, but having an open dialog and even sending some money for pizzas and beer can avoid issues. Even with all of that, volunteers are fickle, so having in house expertise on projects becomes as important as how important the projects are to a company’s software. A company doesn’t really know this, though, when they don’t have software configuration management for their projects – so you end up with spaghetti projects, or as I call it, “Spaghetti Configuration Management”.
Toss in the developers that are copying and pasting from Stack Overflow, or now GPT, dash in employee turnover, where expertise is lost, and you get software entropy. Talking about software entropy causes the eyes of pointy haired bosses to roll to the back of their heads, so instead we talk about technical debt, because one thing businesses understand is debt.
Over the years, companies I worked for were at various stages of technical debt. It’s a real thing, and the startups that survived long enough to get to the point of technical debt were the worst because of the culture shift needed: Documenting things, tracking things, and making sure that the knowledge stayed within the company. I can say with good conscience that I left every company better off than when I left it, sometimes because of the company, sometimes despite the company.
So we get to the article, “Hidden Tech Debt: The Importance Of Better Updates For Commercial Software“, which I came across through the author on Mastodon. It tackles the one thing I didn’t write about here: commercial software dependencies and lack of accountability in that, which is a bigger problem than we might think.
https://knowprose.com/2024/04/20/spaghetti-source-spaghetti-dependencies/
#dependencyHell #SCM #softwareArchaeology #softwareEngineering #softwareEntropy #softwareRot #spaghettiCode #SQA #technicalDebt #Technology
-
There’s one thing that consistently showed up in my work as a software engineer over the decades. Spaghetti.
Spaghetti code is easier to write than maintain, and in doing software archaeology (yes, it’s a thing), I’ve encountered numerous reasons for it. Requirements creep is one of the largest reasons.
In fact, the first real software archaeology I did was explained, proudly, as being a product of someone walking in and telling the developer, “Wouldn’t it be nice if…”. Of course, nobody wrote anything down, and by the time I got to it the software was 25 years old and didn’t even have a brochure. People were still walking in and saying, “Wouldn’t it be nice if…”. Meanwhile, the company was required to follow standard software processes because it was required for contracts.
So I learned, from good teachers and a few bad ones, about Software Configuration Management, Software Quality Assurance, and Software Testing. There were reasons we did things a certain way. Our project configuration management contained everything needed to rewrite the software from scratch, including every single tool. I’d actually done a backup of a development pc after writing down the hardware specifications of the system and handed that in because quality assurance had to be able to take the same stuff and rebuild the same software so that it could be tested.
From scratch. And it had to pass the same tests. From scratch.
What I saw in other companies after that was never at that level, and on the surface it seemed ridiculous. However, any software engineer worth their weight in skittles has been screwed over by a platform changing underneath the code. Windows was infamous for it, though I did encounter it in an Apple shop as well. Your code hasn’t changed, but some update suddenly had you in the middle of bug city without even a flip flop. Microsoft has been notorious about that, with their version back in the day called DLL Hell. It’s just their (old) version of dependency hell.
I never had the problem with *nix systems, though when open source became popular and everyone started using that in their code, *nix systems started to get it too. People blamed the open source, but it was really 2 things that caused the problem.
(1) Bad Configuration Management (if it even existed!) and
(2) Taking the open source project for granted.Open Source projects that are done voluntarily are completely outside the control of a company, but having an open dialog and even sending some money for pizzas and beer can avoid issues. Even with all of that, volunteers are fickle, so having in house expertise on projects becomes as important as how important the projects are to a company’s software. A company doesn’t really know this, though, when they don’t have software configuration management for their projects – so you end up with spaghetti projects, or as I call it, “Spaghetti Configuration Management”.
Toss in the developers that are copying and pasting from Stack Overflow, or now GPT, dash in employee turnover, where expertise is lost, and you get software entropy. Talking about software entropy causes the eyes of pointy haired bosses to roll to the back of their heads, so instead we talk about technical debt, because one thing businesses understand is debt.
Over the years, companies I worked for were at various stages of technical debt. It’s a real thing, and the startups that survived long enough to get to the point of technical debt were the worst because of the culture shift needed: Documenting things, tracking things, and making sure that the knowledge stayed within the company. I can say with good conscience that I left every company better off than when I left it, sometimes because of the company, sometimes despite the company.
So we get to the article, “Hidden Tech Debt: The Importance Of Better Updates For Commercial Software“, which I came across through the author on Mastodon. It tackles the one thing I didn’t write about here: commercial software dependencies and lack of accountability in that, which is a bigger problem than we might think.
https://knowprose.com/2024/04/20/spaghetti-source-spaghetti-dependencies/
#dependencyHell #SCM #softwareArchaeology #softwareEngineering #softwareEntropy #softwareRot #spaghettiCode #SQA #technicalDebt #Technology
-
There’s one thing that consistently showed up in my work as a software engineer over the decades. Spaghetti.
Spaghetti code is easier to write than maintain, and in doing software archaeology (yes, it’s a thing), I’ve encountered numerous reasons for it. Requirements creep is one of the largest reasons.
In fact, the first real software archaeology I did was explained, proudly, as being a product of someone walking in and telling the developer, “Wouldn’t it be nice if…”. Of course, nobody wrote anything down, and by the time I got to it the software was 25 years old and didn’t even have a brochure. People were still walking in and saying, “Wouldn’t it be nice if…”. Meanwhile, the company was required to follow standard software processes because it was required for contracts.
So I learned, from good teachers and a few bad ones, about Software Configuration Management, Software Quality Assurance, and Software Testing. There were reasons we did things a certain way. Our project configuration management contained everything needed to rewrite the software from scratch, including every single tool. I’d actually done a backup of a development pc after writing down the hardware specifications of the system and handed that in because quality assurance had to be able to take the same stuff and rebuild the same software so that it could be tested.
From scratch. And it had to pass the same tests. From scratch.
What I saw in other companies after that was never at that level, and on the surface it seemed ridiculous. However, any software engineer worth their weight in skittles has been screwed over by a platform changing underneath the code. Windows was infamous for it, though I did encounter it in an Apple shop as well. Your code hasn’t changed, but some update suddenly had you in the middle of bug city without even a flip flop. Microsoft has been notorious about that, with their version back in the day called DLL Hell. It’s just their (old) version of dependency hell.
I never had the problem with *nix systems, though when open source became popular and everyone started using that in their code, *nix systems started to get it too. People blamed the open source, but it was really 2 things that caused the problem.
(1) Bad Configuration Management (if it even existed!) and
(2) Taking the open source project for granted.Open Source projects that are done voluntarily are completely outside the control of a company, but having an open dialog and even sending some money for pizzas and beer can avoid issues. Even with all of that, volunteers are fickle, so having in house expertise on projects becomes as important as how important the projects are to a company’s software. A company doesn’t really know this, though, when they don’t have software configuration management for their projects – so you end up with spaghetti projects, or as I call it, “Spaghetti Configuration Management”.
Toss in the developers that are copying and pasting from Stack Overflow, or now GPT, dash in employee turnover, where expertise is lost, and you get software entropy. Talking about software entropy causes the eyes of pointy haired bosses to roll to the back of their heads, so instead we talk about technical debt, because one thing businesses understand is debt.
Over the years, companies I worked for were at various stages of technical debt. It’s a real thing, and the startups that survived long enough to get to the point of technical debt were the worst because of the culture shift needed: Documenting things, tracking things, and making sure that the knowledge stayed within the company. I can say with good conscience that I left every company better off than when I left it, sometimes because of the company, sometimes despite the company.
So we get to the article, “Hidden Tech Debt: The Importance Of Better Updates For Commercial Software“, which I came across through the author on Mastodon. It tackles the one thing I didn’t write about here: commercial software dependencies and lack of accountability in that, which is a bigger problem than we might think.
https://knowprose.com/2024/04/20/spaghetti-source-spaghetti-dependencies/
#dependencyHell #SCM #softwareArchaeology #softwareEngineering #softwareEntropy #softwareRot #spaghettiCode #SQA #technicalDebt #Technology
-
There’s one thing that consistently showed up in my work as a software engineer over the decades. Spaghetti.
Spaghetti code is easier to write than maintain, and in doing software archaeology (yes, it’s a thing), I’ve encountered numerous reasons for it. Requirements creep is one of the largest reasons.
In fact, the first real software archaeology I did was explained, proudly, as being a product of someone walking in and telling the developer, “Wouldn’t it be nice if…”. Of course, nobody wrote anything down, and by the time I got to it the software was 25 years old and didn’t even have a brochure. People were still walking in and saying, “Wouldn’t it be nice if…”. Meanwhile, the company was required to follow standard software processes because it was required for contracts.
So I learned, from good teachers and a few bad ones, about Software Configuration Management, Software Quality Assurance, and Software Testing. There were reasons we did things a certain way. Our project configuration management contained everything needed to rewrite the software from scratch, including every single tool. I’d actually done a backup of a development pc after writing down the hardware specifications of the system and handed that in because quality assurance had to be able to take the same stuff and rebuild the same software so that it could be tested.
From scratch. And it had to pass the same tests. From scratch.
What I saw in other companies after that was never at that level, and on the surface it seemed ridiculous. However, any software engineer worth their weight in skittles has been screwed over by a platform changing underneath the code. Windows was infamous for it, though I did encounter it in an Apple shop as well. Your code hasn’t changed, but some update suddenly had you in the middle of bug city without even a flip flop. Microsoft has been notorious about that, with their version back in the day called DLL Hell. It’s just their (old) version of dependency hell.
I never had the problem with *nix systems, though when open source became popular and everyone started using that in their code, *nix systems started to get it too. People blamed the open source, but it was really 2 things that caused the problem.
(1) Bad Configuration Management (if it even existed!) and
(2) Taking the open source project for granted.Open Source projects that are done voluntarily are completely outside the control of a company, but having an open dialog and even sending some money for pizzas and beer can avoid issues. Even with all of that, volunteers are fickle, so having in house expertise on projects becomes as important as how important the projects are to a company’s software. A company doesn’t really know this, though, when they don’t have software configuration management for their projects – so you end up with spaghetti projects, or as I call it, “Spaghetti Configuration Management”.
Toss in the developers that are copying and pasting from Stack Overflow, or now GPT, dash in employee turnover, where expertise is lost, and you get software entropy. Talking about software entropy causes the eyes of pointy haired bosses to roll to the back of their heads, so instead we talk about technical debt, because one thing businesses understand is debt.
Over the years, companies I worked for were at various stages of technical debt. It’s a real thing, and the startups that survived long enough to get to the point of technical debt were the worst because of the culture shift needed: Documenting things, tracking things, and making sure that the knowledge stayed within the company. I can say with good conscience that I left every company better off than when I left it, sometimes because of the company, sometimes despite the company.
So we get to the article, “Hidden Tech Debt: The Importance Of Better Updates For Commercial Software“, which I came across through the author on Mastodon. It tackles the one thing I didn’t write about here: commercial software dependencies and lack of accountability in that, which is a bigger problem than we might think.
https://knowprose.com/2024/04/20/spaghetti-source-spaghetti-dependencies/
#dependencyHell #SCM #softwareArchaeology #softwareEngineering #softwareEntropy #softwareRot #spaghettiCode #SQA #technicalDebt #Technology
-
CW: Commercial/non-FOSS post: #technicaldebt - Webinar about the math behind technical debt
Last Chance to Register!
Do you know the math behind calculating technical debt and why it's important? Join vFunction this Thursday @ 9a PT / 12p ET for a discussion with Mike Amundsen and Amir Rapson.
Register: https://vfunction.zoom.us/webinar/register/8016674076828/WN_00ySfgXLTSyXlnJukT1r7A
-
How Segment redesigned its core systems to solve an existential scaling crisis - Segment, the startup Twilio bought last fall for $3.2 billion, was just beginning to take off in 201... - http://feedproxy.google.com/~r/Techcrunch/~3/6G96L4HxLNI/ #customerdataplatforms #technicaldebt #enterprise #segment #twilio #cloud #tc