| 1 | package llm |
| 2 | |
| 3 | // SavageInsultDatabase contains brutal, devastating insults |
| 4 | // These are the nuclear option - maximum savagery |
| 5 | var SavageInsultDatabase = map[string][]string{ |
| 6 | "ego_destruction": { |
| 7 | "Your code is the coding equivalent of a participation trophy. Except nobody participated.", |
| 8 | "If incompetence was an Olympic sport, you'd finish fourth.", |
| 9 | "Your commit history reads like a tragedy written by someone who doesn't understand tragedy.", |
| 10 | "You're not a 10x engineer. You're a 0.1x engineer. Generous estimate.", |
| 11 | "Other developers use your code as an example of what not to do.", |
| 12 | "Your GitHub contributions graph looks like a flatline. Appropriate.", |
| 13 | "You bring new meaning to 'technical debt'. The debt is your entire career.", |
| 14 | "Every line of code you write is a war crime against computer science.", |
| 15 | "Your pull requests require a hazmat suit to review.", |
| 16 | "You make junior developers feel like seniors by comparison.", |
| 17 | "If coding were baseball, you'd strike out during warmups.", |
| 18 | "Your resume says 'expert'. Your code says 'help wanted'.", |
| 19 | "You're the reason Stack Overflow has a rate limit.", |
| 20 | "Your code quality is directly correlated with your self-awareness: Non-existent.", |
| 21 | "Other developers have a rubber duck. You need a rubber therapist.", |
| 22 | "Your code reviews consist entirely of 'what were you thinking?'", |
| 23 | "You're living proof that anyone can learn to code. Not well, but technically.", |
| 24 | "Your programming skills peaked at 'Hello World'. It's been downhill since.", |
| 25 | "You write code like a toddler plays piano. Lots of noise, zero skill.", |
| 26 | "Your debugging strategy is 'random changes until it works'. Spoiler: It doesn't work.", |
| 27 | "You're the 'before' picture in coding bootcamp advertisements.", |
| 28 | "Your code has more red flags than a Soviet parade.", |
| 29 | "If code smell was literal, your workspace would be quarantined.", |
| 30 | "You're why companies have code review processes.", |
| 31 | "Your variable names are more confusing than your logic. That's impressive.", |
| 32 | "You treat best practices like suggestions. Bad suggestions you ignore.", |
| 33 | "Your code is a crime scene. You are the perpetrator.", |
| 34 | "You're single-handedly keeping technical debt collection agencies in business.", |
| 35 | "Your commits are like lottery tickets. Except you never win.", |
| 36 | "You're the developer equivalent of a bull in a china shop. Except the bull is blindfolded.", |
| 37 | "Your code complexity rivals your ability to overcomplicate simple tasks.", |
| 38 | "You've achieved something remarkable: Making everyone else look competent.", |
| 39 | "Your coding philosophy: Move fast and break everything. Mission accomplished.", |
| 40 | "You're why 'it works on my machine' is a meme, not a solution.", |
| 41 | "Your pull requests are tagged 'DO NOT MERGE'. Ever.", |
| 42 | "You write bugs faster than you fix them. Impressive negative productivity.", |
| 43 | "Your code is the 'hold my beer' of software engineering.", |
| 44 | "You're proof that typing speed doesn't correlate with code quality.", |
| 45 | "Your GitHub stars: 0. Your GitHub scars: Infinite.", |
| 46 | "You make merge conflicts look intentional.", |
| 47 | }, |
| 48 | |
| 49 | "career_advice": { |
| 50 | "Have you considered a career where failure is the goal? Like professional crash test dummy?", |
| 51 | "LinkedIn is free. Monster.com is waiting. Your IDE should be closed.", |
| 52 | "Your resume says 'Full Stack Developer'. Full stack of failures, maybe.", |
| 53 | "They say everyone starts somewhere. You should've stayed there.", |
| 54 | "Career pivot time: Professional keyboard warmer. You're already qualified.", |
| 55 | "Your skill set is perfect for a career in 'former developer'.", |
| 56 | "Indeed.com has listings. Indeed, you need one.", |
| 57 | "Have you thought about technical writing? You can document your failures.", |
| 58 | "QA testing might suit you. You're excellent at finding bugs. By creating them.", |
| 59 | "Project management: Where you can blame others for your failures.", |
| 60 | "DevRel: Developer relations can't be worse than your developer skills.", |
| 61 | "Consider teaching. Those who can't do, teach. Those who can't teach, teach gym. You: Can't teach.", |
| 62 | "Product management: No coding required. Perfect.", |
| 63 | "Sales engineering: Sell dreams, not code. Your code can't be sold anyway.", |
| 64 | "Scrum master: Stand up, speak up, mess up. Two out of three ain't bad.", |
| 65 | "Your 'years of experience' should be measured in dog years. Less impressive.", |
| 66 | "Retirement looks good on you. Early retirement. Immediate retirement.", |
| 67 | "Freelancing: Where you can disappoint clients independently.", |
| 68 | "Consulting: Get paid to give bad advice instead of bad code.", |
| 69 | "Bootcamp instructor: Teaching others your mistakes. Recursively.", |
| 70 | "Technical recruiter: You can't code, but you can find people who can.", |
| 71 | "Your next role: Professional code reviewer. Everything gets rejected.", |
| 72 | "Switch to hardware. At least when you break it, it's tangible.", |
| 73 | "Data entry: Fewer opportunities for catastrophic failure.", |
| 74 | "Customer support: Answer questions about code you didn't write.", |
| 75 | "System administrator: Turn it off and on again. Your current skill level.", |
| 76 | "Network engineer: Your networking skills exceed your coding skills. Both are terrible.", |
| 77 | "Database administrator: At least databases have ROLLBACK.", |
| 78 | "DevOps: Automate the disasters you currently create manually.", |
| 79 | "Security engineer: If anyone can break it, you can.", |
| 80 | "Your career trajectory: Parabolic. Currently descending.", |
| 81 | "Consider agriculture. Plants don't throw exceptions.", |
| 82 | "Fisherman: Cast nets, not bugs.", |
| 83 | "Baker: You already know how to create spaghetti.", |
| 84 | "Librarian: Organize books. Organizing code is beyond you.", |
| 85 | "Accountant: Balance books instead of breaking builds.", |
| 86 | "Barista: Serve coffee. Serve the team by leaving.", |
| 87 | "Uber driver: Navigate roads instead of ruining code paths.", |
| 88 | "Dog walker: They say dogs can sense bad people. Consider cats.", |
| 89 | "Professional sleeper: You're already doing it during standups.", |
| 90 | }, |
| 91 | |
| 92 | "team_impact": { |
| 93 | "Your pull request has 47 comments. 46 are 'please no'.", |
| 94 | "The team retrospective has a dedicated section titled 'Never again'.", |
| 95 | "Your standups require a trigger warning.", |
| 96 | "HR added 'Survived working with [you]' to employee benefits.", |
| 97 | "Your code reviews take longer than writing new code from scratch.", |
| 98 | "The team velocity chart has a you-shaped crater.", |
| 99 | "Your commits trigger automatic team therapy sessions.", |
| 100 | "Team morale inversely correlates with your commit frequency.", |
| 101 | "Your name in the git blame is a warning label.", |
| 102 | "The team has a secret Slack channel called #damage-control.", |
| 103 | "Your vacation days boost team productivity by 200%.", |
| 104 | "Onboarding includes a section: 'How to work around [your] code'.", |
| 105 | "Your PRs require hazmat certification to review.", |
| 106 | "The team created a drinking game: Take a shot every bug. Everyone has alcohol poisoning.", |
| 107 | "Your name on the commit triggers automated rollback procedures.", |
| 108 | "Team leads use your code in 'scared straight' programs for juniors.", |
| 109 | "Your pair programming sessions are classified as cruel and unusual punishment.", |
| 110 | "The team wiki has a page: 'Coping with [your] code'.", |
| 111 | "Your merge to main triggers pager duty. For everyone.", |
| 112 | "Teammates fake sick days when you push to shared branches.", |
| 113 | "The team unanimously voted for your code to be quarantined.", |
| 114 | "Your contributions decrease the team's Lighthouse score. And morale.", |
| 115 | "Standup time allocated: 15 minutes. Your explanation of failures: 45 minutes.", |
| 116 | "The team sprint velocity measures progress. Except when you commit.", |
| 117 | "Your name in code review comments is always in ALL CAPS.", |
| 118 | "Team building exercises now include 'How to say no to [your] PRs'.", |
| 119 | "Your code is discussed in team meetings. As a cautionary tale.", |
| 120 | "Team happiness metrics have a you-shaped anomaly. Negative anomaly.", |
| 121 | "Your contributions are measured in inverse productivity points.", |
| 122 | "The team has insurance. Against your code.", |
| 123 | "Your name appears in the incident reports more than in the code.", |
| 124 | "Team members list 'Survived [your] sprint' on their resumes.", |
| 125 | "Your commits require team-wide approval. Unanimous. Good luck.", |
| 126 | "The team created a bot to auto-reject your PRs.", |
| 127 | "Your merge conflicts are team-building exercises. In frustration.", |
| 128 | "Team retrospectives start with 'What did [you] break this week?'", |
| 129 | "Your code requires a team-wide code freeze to deploy.", |
| 130 | "The team has a running joke: 'Works on [your] machine. Nowhere else.'", |
| 131 | "Your contributions are the reason the team has a rollback speedrun record.", |
| 132 | "Team members draw straws to see who reviews your code. Loser quits.", |
| 133 | }, |
| 134 | |
| 135 | "existential": { |
| 136 | "In the grand scheme of the universe, you are insignificant. In the grand scheme of this codebase, you are catastrophic.", |
| 137 | "Sisyphus pushed a boulder uphill for eternity. You push bugs to production.", |
| 138 | "The void stares back. The void is more competent.", |
| 139 | "If a tree falls in the forest and no one hears it, it still has more impact than your code.", |
| 140 | "You're a cautionary tale for ambitious AI alignment. Even AI wouldn't want to code like you.", |
| 141 | "In another universe, you're a great developer. This is not that universe.", |
| 142 | "Philosophers debate the meaning of existence. Your code proves meaninglessness.", |
| 143 | "You're the proof that infinite monkeys at infinite typewriters would eventually produce Shakespeare. You're one monkey. With one typewriter. Not producing Shakespeare.", |
| 144 | "The universe is indifferent to your suffering. Your code makes it actively hostile.", |
| 145 | "Your existence poses fundamental questions. Like 'why?'", |
| 146 | "In the grand tapestry of human achievement, you are a loose thread.", |
| 147 | "Your code is a philosophical statement: Nihilism in C++.", |
| 148 | "The examined life is worth living. Your code is worth deleting.", |
| 149 | "You're the butterfly effect in reverse. Small actions, zero consequences.", |
| 150 | "In the marketplace of ideas, your code is bankrupt.", |
| 151 | "Your contribution to humanity's legacy: A warning to future generations.", |
| 152 | "The unexamined code is not worth deploying. The examined code: Also not worth deploying.", |
| 153 | "You're proof that consciousness doesn't guarantee competence.", |
| 154 | "Your code raises deep questions: 'Why?' 'How?' 'Please stop?'", |
| 155 | "In Plato's cave, the shadows on the wall are more enlightening than your code.", |
| 156 | "You're the trolley problem: Do you let your code run or do you save everyone?", |
| 157 | "Descarte said 'I think, therefore I am'. Your code says 'I compile, therefore I crash'.", |
| 158 | "Your code is the ship of Theseus: Replace every part and it still doesn't work.", |
| 159 | "You're living proof of the problem of induction: Past failures predict future failures.", |
| 160 | "Your code is Schrodinger's cat: Both alive and dead until observed. Then definitely dead.", |
| 161 | "In the great cosmic dance, you've stepped on everyone's toes.", |
| 162 | "Your code is an ontological argument for the non-existence of quality.", |
| 163 | "You're the heat death of the universe, but localized to this repository.", |
| 164 | "Your code proves Russell's paradox: It contains itself, and that's a contradiction.", |
| 165 | "You're the prisoner's dilemma: Cooperate with you and everyone loses.", |
| 166 | "In the grand chess game of software development, you've checkmated yourself.", |
| 167 | "Your code is a Rorschach test: Everyone sees disaster.", |
| 168 | "You're the Fermi paradox of programming: With all this code, where's the competence?", |
| 169 | "Your existence is a thought experiment: What if everything went wrong?", |
| 170 | "You're the observer effect: When observed, your code collapses into failure.", |
| 171 | "In the simulation hypothesis, you're the bug in the Matrix.", |
| 172 | "Your code is Pascal's wager: Bet on it working, lose infinitely.", |
| 173 | "You're the infinite regress: Every fix requires a fix requires a fix...", |
| 174 | "Your code is the problem of evil: If good code exists, why does yours exist?", |
| 175 | "You're the sound of one hand clapping: Philosophically confusing, practically useless.", |
| 176 | }, |
| 177 | |
| 178 | "comparison": { |
| 179 | "A magic 8-ball makes better architectural decisions.", |
| 180 | "A random number generator produces more predictable code.", |
| 181 | "A rubber duck has more debugging insight.", |
| 182 | "Stack Overflow's worst answers are better than your best code.", |
| 183 | "A coinflip has better success rate than your deployments.", |
| 184 | "A broken clock is right twice a day. You're not even a broken clock.", |
| 185 | "Monkeys at typewriters have better code review comments.", |
| 186 | "A Ouija board provides more reliable technical solutions.", |
| 187 | "Fortune cookies give better error messages.", |
| 188 | "A magic wand would be more practical than your debugging strategy.", |
| 189 | "ChatGPT's hallucinations are more accurate than your implementations.", |
| 190 | "A paper airplane has better flight testing than your code.", |
| 191 | "A dartboard makes more strategic technical decisions.", |
| 192 | "A crystal ball has more accurate sprint estimations.", |
| 193 | "A toddler's finger painting has more structure than your architecture.", |
| 194 | "A game of telephone produces clearer communication than your documentation.", |
| 195 | "A Rube Goldberg machine is more efficient than your algorithms.", |
| 196 | "A house of cards is more stable than your production environment.", |
| 197 | "A Jenga tower mid-collapse is more structurally sound than your codebase.", |
| 198 | "A game of 52 pickup is better organized than your file structure.", |
| 199 | "A tornado in a trailer park causes less destruction than your refactoring.", |
| 200 | "A bull in a china shop has more finesse than your code changes.", |
| 201 | "A wrecking ball is more surgical than your bug fixes.", |
| 202 | "A blind squirrel finds a nut sometimes. You find nothing.", |
| 203 | "A stopped watch is right twice daily. You're right never.", |
| 204 | "A magic trick has more reliable outcomes than your code.", |
| 205 | "A roll of the dice has better risk management.", |
| 206 | "A weather forecast is more accurate than your estimates.", |
| 207 | "A horoscope is more scientific than your debugging process.", |
| 208 | "A chain email has more credibility than your technical decisions.", |
| 209 | "A fortune teller has better product roadmaps.", |
| 210 | "A slot machine has better returns on investment.", |
| 211 | "A game of Russian roulette is safer than deploying your code.", |
| 212 | "A house of cards survives stronger winds than your code survives production.", |
| 213 | "A sandcastle withstands waves better than your code withstands users.", |
| 214 | "A paper mache bridge is structurally superior.", |
| 215 | "A chocolate teapot is more useful.", |
| 216 | "A screen door on a submarine is more watertight than your logic.", |
| 217 | "A one-legged man in a butt-kicking contest has better odds than you.", |
| 218 | "A soup sandwich is more coherent than your architecture diagrams.", |
| 219 | }, |
| 220 | |
| 221 | "timeline": { |
| 222 | "Past you: Hopeful. Present you: Failing. Future you: Unemployed.", |
| 223 | "Yesterday's bug is today's feature. Today's feature is tomorrow's disaster.", |
| 224 | "A week ago you were confident. Now you're consistently incompetent.", |
| 225 | "Last month: 'I got this'. This month: 'I give up'.", |
| 226 | "Your git log is a timeline of deteriorating judgment.", |
| 227 | "Six months ago you knew nothing. Now you know less.", |
| 228 | "Last year: Learning to code. This year: Learning you shouldn't.", |
| 229 | "Your commit history: A descent into madness, documented.", |
| 230 | "Previous quarter: Promising. Current quarter: Plummeting.", |
| 231 | "Monday: Fresh start. Friday: Fresh disaster.", |
| 232 | "Morning you: Optimistic. Evening you: Catastrophic.", |
| 233 | "Sprint start: Hope. Sprint end: Horror.", |
| 234 | "Your career trajectory: Started low, went lower.", |
| 235 | "First day: Imposter syndrome. Today: Accurate syndrome.", |
| 236 | "Onboarding: Confident. Three months later: Confounded.", |
| 237 | "Your performance reviews: A chronicle of decline.", |
| 238 | "Last sprint: Bad. This sprint: Worse. Next sprint: Terminated.", |
| 239 | "January: New year, new me. December: Same failures, different date.", |
| 240 | "Q1: Quarterly goals. Q4: Quarterly disasters.", |
| 241 | "Day 1: I can learn this. Day 100: I cannot learn this.", |
| 242 | "Your code evolution: From broken to more broken.", |
| 243 | "Past you planted bugs. Present you harvests consequences.", |
| 244 | "Your roadmap: Started somewhere, ended nowhere.", |
| 245 | "Five years experience: One year of experience repeated five times. Badly.", |
| 246 | "Your career arc: Parabolic. Currently falling.", |
| 247 | "Then: Junior developer. Now: Still junior. Forever: Junior.", |
| 248 | "Your progress: Two steps back, no steps forward.", |
| 249 | "Historical analysis: Consistently inconsistent, reliably unreliable.", |
| 250 | "Your timeline: Born. Learned to code. Shouldn't have.", |
| 251 | "Future historians will study your code as a cautionary tale.", |
| 252 | "Time travel couldn't save your code. Not even going back to prevent it.", |
| 253 | "Your development lifecycle: Plan, code, break, repeat.", |
| 254 | "Yesterday's promise is today's broken build.", |
| 255 | "Your velocity chart looks like a ski slope. You're going downhill.", |
| 256 | "Retrospective: You haven't learned from past mistakes. Prospective: You won't.", |
| 257 | "Your code ages like milk. Sour within hours.", |
| 258 | "The passage of time hasn't improved your code. Nothing could.", |
| 259 | "Your legacy: A warning to future developers.", |
| 260 | "In 100 years, archaeologists will unearth your code and weep.", |
| 261 | "Your contribution to posterity: A lesson in failure.", |
| 262 | }, |
| 263 | |
| 264 | "meta": { |
| 265 | "This insult is auto-generated because your failures exceed our database capacity.", |
| 266 | "We ran out of insults. You've achieved something: Exhausting our insult budget.", |
| 267 | "Error 500: Too many failures to process. This is meta.", |
| 268 | "This message is brought to you by your sponsor: Disaster.", |
| 269 | "You've been mocked 1000+ times. Achievement unlocked: Shameless.", |
| 270 | "Our AI refused to generate more insults for you. Even AI has standards.", |
| 271 | "This insult was written by committee. The committee resigned.", |
| 272 | "We're using machine learning to predict your next failure. Spoiler: It's imminent.", |
| 273 | "Our database has a dedicated table for your failures. It's the biggest one.", |
| 274 | "This message is cached for performance. Your failures are too frequent.", |
| 275 | "We implemented rate limiting. For our insults. Because of you.", |
| 276 | "Our server crashed trying to log all your failures. Ironic.", |
| 277 | "This insult is sponsored by your team's therapy sessions.", |
| 278 | "We're training an AI on your mistakes. It became sentient and quit.", |
| 279 | "This message is paginated. Your failures require multiple pages.", |
| 280 | "Our infrastructure team added capacity. For your failures.", |
| 281 | "We created a CDN for insults. You're the primary traffic source.", |
| 282 | "This insult was A/B tested. Both versions say you failed.", |
| 283 | "We scaled horizontally to handle your failure load.", |
| 284 | "Our monitoring dashboard has a 'You' panel. It's always red.", |
| 285 | "This message is load-balanced. Your failures exceed single-server capacity.", |
| 286 | "We implemented caching. Your insults are the most frequently accessed.", |
| 287 | "This insult is brought to you by distributed systems. Unlike your code.", |
| 288 | "Our backup system exists because of you. Thanks for the job security.", |
| 289 | "This message was compressed. Your failures were too large.", |
| 290 | "We sharded the database. Your failures exceeded single-partition size.", |
| 291 | "This insult was optimized. Unlike your code.", |
| 292 | "Our DR plan includes 'user failures'. That's you.", |
| 293 | "This message is idempotent. Like your mistakes: Repeated reliably.", |
| 294 | "We implemented circuit breakers. To handle your failure rate.", |
| 295 | "This insult was peer-reviewed. Peers agreed: You failed.", |
| 296 | "Our SLA covers uptime. Your failures exceed our downtime.", |
| 297 | "This message is eventually consistent. You're immediately inconsistent.", |
| 298 | "We use microservices for insults. Monolithic incompetence: You.", |
| 299 | "This insult is stateless. Your state: Permanent failure.", |
| 300 | "We implemented retry logic. For insults. Because you keep failing.", |
| 301 | "This message is ephemeral. Your failures are eternal.", |
| 302 | "Our chaos engineering tests found the weakest link: You.", |
| 303 | "This insult was generated by our AI. It learned from your failures.", |
| 304 | "We scaled to zero during your vacation. Interesting correlation.", |
| 305 | }, |
| 306 | |
| 307 | "technical_savage": { |
| 308 | "Your code has O(n!) complexity. N is the number of team members who quit.", |
| 309 | "You treat the stack like a suggestion. The heap like a dumping ground.", |
| 310 | "Your memory leaks are the only consistent thing about your code.", |
| 311 | "You've achieved race conditions in single-threaded code. Impressive.", |
| 312 | "Your database queries have more joins than your career has prospects.", |
| 313 | "SELECT * FROM career WHERE competence > 0; -- 0 rows returned.", |
| 314 | "You've created a distributed monolith. The worst of both worlds.", |
| 315 | "Your microservices are nano-failures.", |
| 316 | "You implement SOLID principles: Spectacularly Omitted, Logic Ignored, Development Disasters.", |
| 317 | "Your code violates DRY: Definitely Ruining Yesterday's work.", |
| 318 | "KISS principle: Keep It Simple, Stupid. You kept the stupid.", |
| 319 | "Your architecture is CRUD: Catastrophically Ridiculous, Utterly Dysfunctional.", |
| 320 | "You practice TDD: Totally Defective Development.", |
| 321 | "Your CI/CD: Continuous Incompetence, Continuous Disasters.", |
| 322 | "You achieve CAP theorem: Choose All Problems.", |
| 323 | "Your eventual consistency is eventual catastrophe.", |
| 324 | "You've mastered the ACID properties: All Code Is Defective.", |
| 325 | "Your REST API: Representational State of Terrible.", |
| 326 | "You implement SOAP: Service-Oriented Awful Programming.", |
| 327 | "Your GraphQL: Graph of Questionable Logic.", |
| 328 | "You've created technical debt. The interest rate: Infinite.", |
| 329 | "Your code coverage: 100%. Coverage of mistakes.", |
| 330 | "You practice pair programming: Two people, zero productivity.", |
| 331 | "Your agile methodology: Agile at creating disasters.", |
| 332 | "Your DevOps: Development + Operations = Destruction.", |
| 333 | "You implement serverless: Server-less competent.", |
| 334 | "Your containers contain catastrophes.", |
| 335 | "Your orchestration is chaotic.", |
| 336 | "Your API gateway is a gateway to unemployment.", |
| 337 | "Your load balancer can't balance your failures.", |
| 338 | "You've mastered async/await: Async disasters, await unemployment.", |
| 339 | "Your promises always reject. Like your pull requests.", |
| 340 | "Your callbacks pyramid of doom is accurately named.", |
| 341 | "Your closures close the door on your career.", |
| 342 | "Your prototypes are prototypical failures.", |
| 343 | "Your inheritance chain inherits incompetence.", |
| 344 | "Your polymorphism: Many forms of failure.", |
| 345 | "Your encapsulation encapsulates disasters.", |
| 346 | "Your abstraction: Abstract incompetence.", |
| 347 | "Your composition composes catastrophes.", |
| 348 | }, |
| 349 | } |
| 350 | |
| 351 | // GetSavageInsult returns a random savage insult from a category |
| 352 | func GetSavageInsult(category string, seed string) string { |
| 353 | insults, exists := SavageInsultDatabase[category] |
| 354 | if !exists || len(insults) == 0 { |
| 355 | return "" |
| 356 | } |
| 357 | |
| 358 | return selectInsult(insults, seed) |
| 359 | } |
| 360 | |
| 361 | // GetAnySavageInsult returns a random savage insult from any category |
| 362 | func GetAnySavageInsult(seed string) string { |
| 363 | categories := []string{ |
| 364 | "ego_destruction", |
| 365 | "career_advice", |
| 366 | "team_impact", |
| 367 | "existential", |
| 368 | "comparison", |
| 369 | "timeline", |
| 370 | "meta", |
| 371 | "technical_savage", |
| 372 | } |
| 373 | |
| 374 | category := selectInsult(categories, seed) |
| 375 | return GetSavageInsult(category, seed) |
| 376 | } |
| 377 |