A place to cache linked articles (think custom and personal wayback machine)
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

4 年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>On all that fuckery (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f0f0ea">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f0f0ea">
  26. <!-- Documented, feel free to shoot an email. -->
  27. <link rel="stylesheet" href="/static/david/css/style_2020-06-19.css">
  28. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  29. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <script type="text/javascript">
  36. function toggleTheme(themeName) {
  37. document.documentElement.classList.toggle(
  38. 'forced-dark',
  39. themeName === 'dark'
  40. )
  41. document.documentElement.classList.toggle(
  42. 'forced-light',
  43. themeName === 'light'
  44. )
  45. }
  46. const selectedTheme = localStorage.getItem('theme')
  47. if (selectedTheme !== 'undefined') {
  48. toggleTheme(selectedTheme)
  49. }
  50. </script>
  51. <meta name="robots" content="noindex, nofollow">
  52. <meta content="origin-when-cross-origin" name="referrer">
  53. <!-- Canonical URL for SEO purposes -->
  54. <link rel="canonical" href="https://www.tinykat.cafe/on-all-that-fuckery">
  55. <body class="remarkdown h1-underline h2-underline h3-underline hr-center ul-star pre-tick">
  56. <article>
  57. <header>
  58. <h1>On all that fuckery</h1>
  59. </header>
  60. <nav>
  61. <p class="center">
  62. <a href="/david/" title="Aller à l’accueil">🏠</a> •
  63. <a href="https://www.tinykat.cafe/on-all-that-fuckery" title="Lien vers le contenu original">Source originale</a>
  64. </p>
  65. </nav>
  66. <hr>
  67. <main>
  68. <p class="css-1tujudq"><span role="img" aria-label="warning">⚠️</span> <em class="css-0">CW: racist, sexist, transphobic, hateful language and online abuse</em></p>
  69. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  70. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/78121b0fe29ffe99a14ba6f375152534/b54cd/screenshot-fuckery.png" target="_blank" rel="noopener">
  71. <span class="gatsby-resp-image-background-image"/>
  72. <img class="gatsby-resp-image-image css-9whsf3" alt="&quot;you faggots are just giving her the material for her next talk on sexism/hate threats and all that fuckery.&quot;" title="&quot;you faggots are just giving her the material for her next talk on sexism/hate threats and all that fuckery.&quot;" src="https://www.tinykat.cafe/static/78121b0fe29ffe99a14ba6f375152534/e5715/screenshot-fuckery.png" srcset="https://www.tinykat.cafe/static/78121b0fe29ffe99a14ba6f375152534/8514f/screenshot-fuckery.png 192w,https://www.tinykat.cafe/static/78121b0fe29ffe99a14ba6f375152534/804b2/screenshot-fuckery.png 384w,https://www.tinykat.cafe/static/78121b0fe29ffe99a14ba6f375152534/e5715/screenshot-fuckery.png 768w,https://www.tinykat.cafe/static/78121b0fe29ffe99a14ba6f375152534/4ad3a/screenshot-fuckery.png 1152w,https://www.tinykat.cafe/static/78121b0fe29ffe99a14ba6f375152534/71c1d/screenshot-fuckery.png 1536w,https://www.tinykat.cafe/static/78121b0fe29ffe99a14ba6f375152534/b54cd/screenshot-fuckery.png 1662w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  73. </a>
  74. </span></p>
  75. <p class="css-1tujudq">From July 14 to August 17, 2020 (at time of publish), I experienced targeted harassment on GitHub—the company I'm employed at—via coordination happening on several "technology" 4chan threads about me. I wanted to share this story publicly to reiterate the bullshit marginalized folks in tech have to go through in order to be successful, visible, and just <em class="css-0">exist</em>.</p>
  76. <p class="css-1tujudq">So as the dude in the screenshot says, I have plenty of material to write a post on <em class="css-0">all that fuckery</em>.</p>
  77. <p class="css-1tujudq"><span role="img" aria-label="wavy dash">〰️</span></p>
  78. <p class="css-1tujudq">The first round of trolling occurred in issues and PRs on <a href="https://github.com/katmeister/tokyo-2019" class="css-2n2eq4">one of my repositories</a> that documents the food I ate with my friends on our spring Tokyo 2019 trip. It was only slightly concerning at first, until I realized that 40+ people were posting, commenting, and emoji reacting.</p>
  79. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  80. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/b4fa0c9a46ca93a988fba3001fb34071/917ef/gh-screenshots.png" target="_blank" rel="noopener">
  81. <span class="gatsby-resp-image-background-image"/>
  82. <img class="gatsby-resp-image-image css-9whsf3" alt="screenshots from GitHub" title="screenshots from GitHub" src="https://www.tinykat.cafe/static/b4fa0c9a46ca93a988fba3001fb34071/e5715/gh-screenshots.png" srcset="https://www.tinykat.cafe/static/b4fa0c9a46ca93a988fba3001fb34071/8514f/gh-screenshots.png 192w,https://www.tinykat.cafe/static/b4fa0c9a46ca93a988fba3001fb34071/804b2/gh-screenshots.png 384w,https://www.tinykat.cafe/static/b4fa0c9a46ca93a988fba3001fb34071/e5715/gh-screenshots.png 768w,https://www.tinykat.cafe/static/b4fa0c9a46ca93a988fba3001fb34071/4ad3a/gh-screenshots.png 1152w,https://www.tinykat.cafe/static/b4fa0c9a46ca93a988fba3001fb34071/71c1d/gh-screenshots.png 1536w,https://www.tinykat.cafe/static/b4fa0c9a46ca93a988fba3001fb34071/917ef/gh-screenshots.png 2095w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  83. </a>
  84. </span></p>
  85. <p class="css-1tujudq">Here are a few examples. The most irritating ones used tech jargon ("fixing bloat") to mask their pathetic actions. As a bystander, you might not realize until viewing the proposed changes... and seeing all content deleted. This is also the most irritating because there is no obviously hateful or violent content, and can be written off as "just a joke." <span role="img" aria-label="face with rolling eyes">🙄</span></p>
  86. <p class="css-1tujudq">This is a specific type of trolling I was experiencing, called "dogpiling":</p>
  87. <blockquote class="css-1hj2jr3"><p class="css-1tujudq">Dogpiling: When a group of trolls works together to overwhelm a target through a barrage of disingenuous questions, threats, slurs, insults, and other tactics meant to shame, silence, discredit, or drive a target offline. — <a href="https://onlineharassmentfieldmanual.pen.org/defining-online-harassment-a-glossary-of-terms/" class="css-2n2eq4">PEN America</a></p></blockquote>
  88. <p class="css-1tujudq">This is not a new tactic used to silence, but it was the first time I've personally experienced it. Good thing I designed a lot of our moderation tools and have talked about the <a href="https://youtu.be/5CSQYMOWOtQ?t=580" class="css-2n2eq4">taxonomy of online abuse</a> before, and recognized this type of harassment quickly. I was able to get help from amazing coworkers, <a href="https://twitter.com/cheshire137" class="css-2n2eq4">Sarah Vessels</a> and <a href="https://twitter.com/deniseyu21" class="css-2n2eq4">Denise Yu</a>, to query my repo's referral data. The traffic was coming from 4chan... two 4chan threads totaling nearly 500 disturbing comments.</p>
  89. <p class="css-1tujudq">Seeing this shit was absolutely surreal. The GitHub content was annoying, but this made me feel sick. I still remember the feeling of being so overwhelmed and just sobbing at my desk. Reading disgusting, racist, sexist comments about me. Seeing screenshots of my face plastered across the threads. Understanding the exact moment where the dogpiling was coordinated. Realizing this was likely to keep happening (and it did).</p>
  90. <p class="css-1tujudq">And what still really creeps me out is that these people felt so emboldened to troll an EMPLOYEE using their actual GitHub accounts with legitimate work and contributions. <u>These harassers are everyday software engineers.</u></p>
  91. <p class="css-1tujudq">I'm not famous and I don't have a very large platform, so why me?</p>
  92. <h1 class="css-14vf4pd">So why me?</h1>
  93. <p class="css-1tujudq">Upon reading the threads, there were some pretty clear reasons why this happened to me. I'll dig deeply into each one. <em class="css-0">HUGE shoutout to my kat-ops counterpart <a href="https://twitter.com/pifafu" class="css-2n2eq4">Kathy Zheng</a> for helping me compile screenshots!</em></p>
  94. <h2 class="css-1qjzlku">I'm a woman.</h2>
  95. <p class="css-1tujudq">Well, this was the most obvious reason. Women disproportionately experience online harassment, and very much so for sexual harassment. I included a few snippets but won't spend too much time on this one because it was some boring, basic bitch shit that we've all seen before <span role="img" aria-label="">🤷🏻‍♀️</span></p>
  96. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  97. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/8c70cf424f0092c01e2bab74df31a7a1/4f046/screenshots-incels.png" target="_blank" rel="noopener">
  98. <span class="gatsby-resp-image-background-image"/>
  99. <img class="gatsby-resp-image-image css-9whsf3" alt="sexist comments" title="sexist comments" src="https://www.tinykat.cafe/static/8c70cf424f0092c01e2bab74df31a7a1/e5715/screenshots-incels.png" srcset="https://www.tinykat.cafe/static/8c70cf424f0092c01e2bab74df31a7a1/8514f/screenshots-incels.png 192w,https://www.tinykat.cafe/static/8c70cf424f0092c01e2bab74df31a7a1/804b2/screenshots-incels.png 384w,https://www.tinykat.cafe/static/8c70cf424f0092c01e2bab74df31a7a1/e5715/screenshots-incels.png 768w,https://www.tinykat.cafe/static/8c70cf424f0092c01e2bab74df31a7a1/4ad3a/screenshots-incels.png 1152w,https://www.tinykat.cafe/static/8c70cf424f0092c01e2bab74df31a7a1/71c1d/screenshots-incels.png 1536w,https://www.tinykat.cafe/static/8c70cf424f0092c01e2bab74df31a7a1/4f046/screenshots-incels.png 3311w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  100. </a>
  101. </span></p>
  102. <h2 class="css-1qjzlku">I'm an Asian woman.</h2>
  103. <p class="css-1tujudq">I mean, I shouldn't have been surprised at this one, but here we are. I have a lot of privilege as an Asian American, but was quickly reminded how easy I can be reduced to stereotypes and slurs. And that the gross fetishization of Asian women still makes me a target:</p>
  104. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  105. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/fb87155ab684bb443d4d7e156d69f4fe/91945/screenshots-asian-slurs.png" target="_blank" rel="noopener">
  106. <span class="gatsby-resp-image-background-image"/>
  107. <img class="gatsby-resp-image-image css-9whsf3" alt="asian slurs" title="asian slurs" src="https://www.tinykat.cafe/static/fb87155ab684bb443d4d7e156d69f4fe/e5715/screenshots-asian-slurs.png" srcset="https://www.tinykat.cafe/static/fb87155ab684bb443d4d7e156d69f4fe/8514f/screenshots-asian-slurs.png 192w,https://www.tinykat.cafe/static/fb87155ab684bb443d4d7e156d69f4fe/804b2/screenshots-asian-slurs.png 384w,https://www.tinykat.cafe/static/fb87155ab684bb443d4d7e156d69f4fe/e5715/screenshots-asian-slurs.png 768w,https://www.tinykat.cafe/static/fb87155ab684bb443d4d7e156d69f4fe/4ad3a/screenshots-asian-slurs.png 1152w,https://www.tinykat.cafe/static/fb87155ab684bb443d4d7e156d69f4fe/71c1d/screenshots-asian-slurs.png 1536w,https://www.tinykat.cafe/static/fb87155ab684bb443d4d7e156d69f4fe/91945/screenshots-asian-slurs.png 2944w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  108. </a>
  109. </span></p>
  110. <p class="css-1tujudq">There was one in particular I wanted to highlight:</p>
  111. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  112. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/b7462864208b987ab4889dcf7a278076/07a9c/screenshots-asian-slurs2.png" target="_blank" rel="noopener">
  113. <span class="gatsby-resp-image-background-image"/>
  114. <img class="gatsby-resp-image-image css-9whsf3" alt="So half-human?" title="So half-human?" src="https://www.tinykat.cafe/static/b7462864208b987ab4889dcf7a278076/e5715/screenshots-asian-slurs2.png" srcset="https://www.tinykat.cafe/static/b7462864208b987ab4889dcf7a278076/8514f/screenshots-asian-slurs2.png 192w,https://www.tinykat.cafe/static/b7462864208b987ab4889dcf7a278076/804b2/screenshots-asian-slurs2.png 384w,https://www.tinykat.cafe/static/b7462864208b987ab4889dcf7a278076/e5715/screenshots-asian-slurs2.png 768w,https://www.tinykat.cafe/static/b7462864208b987ab4889dcf7a278076/4ad3a/screenshots-asian-slurs2.png 1152w,https://www.tinykat.cafe/static/b7462864208b987ab4889dcf7a278076/07a9c/screenshots-asian-slurs2.png 1440w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  115. </a>
  116. </span></p>
  117. <p class="css-1tujudq">This one in particular stood out to me because it's a very specific type of harassment I've received my whole life, usually from East Asians. This piece of trash is stating that I'm subhuman because of my Vietnamese heritage. Tbh, this hits harder than boring 'ol "chink." The colorism here makes me think this was an Asian dude. And speaking of which: </p>
  118. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  119. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/3eee0f75ebc7aeae694e1262392cf0a7/71c1d/screenshots-mrasian.png" target="_blank" rel="noopener">
  120. <span class="gatsby-resp-image-background-image"/>
  121. <img class="gatsby-resp-image-image css-9whsf3" alt="asian slurs" title="asian slurs" src="https://www.tinykat.cafe/static/3eee0f75ebc7aeae694e1262392cf0a7/e5715/screenshots-mrasian.png" srcset="https://www.tinykat.cafe/static/3eee0f75ebc7aeae694e1262392cf0a7/8514f/screenshots-mrasian.png 192w,https://www.tinykat.cafe/static/3eee0f75ebc7aeae694e1262392cf0a7/804b2/screenshots-mrasian.png 384w,https://www.tinykat.cafe/static/3eee0f75ebc7aeae694e1262392cf0a7/e5715/screenshots-mrasian.png 768w,https://www.tinykat.cafe/static/3eee0f75ebc7aeae694e1262392cf0a7/4ad3a/screenshots-mrasian.png 1152w,https://www.tinykat.cafe/static/3eee0f75ebc7aeae694e1262392cf0a7/71c1d/screenshots-mrasian.png 1536w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  122. </a>
  123. </span></p>
  124. <p class="css-1tujudq">I also received an email from what appears to be an MRAsian... It's sadly not uncommon to see Asian men upholding white supremacy and targeting Asian women for living our damn lives.</p>
  125. <h2 class="css-1qjzlku">I have a "radical" profile README.</h2>
  126. <p class="css-1tujudq">My GitHub <a href="http://github.com/katmeister" class="css-2n2eq4">profile README</a> includes my pronouns, support for #BlackLivesMatter, my values, and social links. The amount of transphobic and anti-Black racist comments because of this was sickening. Attacking allyship is yet another tactic to silence and isolate us.</p>
  127. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  128. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/a7ab50905868d6c10c38a7153e01cfbe/16bd1/screenshots-readme.png" target="_blank" rel="noopener">
  129. <span class="gatsby-resp-image-background-image"/>
  130. <img class="gatsby-resp-image-image css-9whsf3" alt="attacks on my GitHub personal README" title="attacks on my GitHub personal README" src="https://www.tinykat.cafe/static/a7ab50905868d6c10c38a7153e01cfbe/e5715/screenshots-readme.png" srcset="https://www.tinykat.cafe/static/a7ab50905868d6c10c38a7153e01cfbe/8514f/screenshots-readme.png 192w,https://www.tinykat.cafe/static/a7ab50905868d6c10c38a7153e01cfbe/804b2/screenshots-readme.png 384w,https://www.tinykat.cafe/static/a7ab50905868d6c10c38a7153e01cfbe/e5715/screenshots-readme.png 768w,https://www.tinykat.cafe/static/a7ab50905868d6c10c38a7153e01cfbe/4ad3a/screenshots-readme.png 1152w,https://www.tinykat.cafe/static/a7ab50905868d6c10c38a7153e01cfbe/71c1d/screenshots-readme.png 1536w,https://www.tinykat.cafe/static/a7ab50905868d6c10c38a7153e01cfbe/16bd1/screenshots-readme.png 2922w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  131. </a>
  132. </span></p>
  133. <h2 class="css-1qjzlku">I'm not a "real developer"</h2>
  134. <p class="css-1tujudq">Yikes, there were a <em class="css-0">lot</em> of comments about this. The dismissal of my skills and claiming I can only write Markdown is an intentional tactic to tear down my value and diminish my success. Very funny, as I've been writing code to production since 2016, despite not being a skilled developer. <span role="img" aria-label="">🤷🏻‍♀️</span></p>
  135. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  136. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/4aaf585e0e3766626332768d1b1cd811/60708/screenshots-not-developer.png" target="_blank" rel="noopener">
  137. <span class="gatsby-resp-image-background-image"/>
  138. <img class="gatsby-resp-image-image css-9whsf3" alt="not a real developer" title="not a real developer" src="https://www.tinykat.cafe/static/4aaf585e0e3766626332768d1b1cd811/e5715/screenshots-not-developer.png" srcset="https://www.tinykat.cafe/static/4aaf585e0e3766626332768d1b1cd811/8514f/screenshots-not-developer.png 192w,https://www.tinykat.cafe/static/4aaf585e0e3766626332768d1b1cd811/804b2/screenshots-not-developer.png 384w,https://www.tinykat.cafe/static/4aaf585e0e3766626332768d1b1cd811/e5715/screenshots-not-developer.png 768w,https://www.tinykat.cafe/static/4aaf585e0e3766626332768d1b1cd811/4ad3a/screenshots-not-developer.png 1152w,https://www.tinykat.cafe/static/4aaf585e0e3766626332768d1b1cd811/71c1d/screenshots-not-developer.png 1536w,https://www.tinykat.cafe/static/4aaf585e0e3766626332768d1b1cd811/60708/screenshots-not-developer.png 2872w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  139. </a>
  140. </span></p>
  141. <p class="css-1tujudq">Also, I think this comment deserves a blockquote:</p>
  142. <blockquote class="css-1hj2jr3"><p class="css-1tujudq">women unironically think that's all there is to development - forking, pushing some spelling changes, etc</p><p class="css-1tujudq">they literally have no concept of how involved any of it is</p><p class="css-1tujudq">isn't it hilarious that these useless parasites are consuming at least 50% of employer resources? all the while shitting on actually productive geeks for political brownie points? </p></blockquote>
  143. <p class="css-1tujudq">Just... let that one sit. <span role="img" aria-label="nauseated face">🤢</span></p>
  144. <h2 class="css-1qjzlku">I'm ruining GitHub as an employee...</h2>
  145. <p class="css-1tujudq">There's a recurring narrative that I'm just a diversity hire who is ruining the coding sanctity of GitHub. I don't deserve to work at this company because I do nothing, while the engineers in this thread sit in their "1 room apartments." Damn, it's not my fault you aren't talented or successful. It also appears some watched my talks—thanks for the views.</p>
  146. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  147. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/23790c8be2d72cba09953ecb50c03cfc/40493/screenshots-ruining-gh.png" target="_blank" rel="noopener">
  148. <span class="gatsby-resp-image-background-image"/>
  149. <img class="gatsby-resp-image-image css-9whsf3" alt="I'm ruining GitHub as an employee" title="I'm ruining GitHub as an employee" src="https://www.tinykat.cafe/static/23790c8be2d72cba09953ecb50c03cfc/e5715/screenshots-ruining-gh.png" srcset="https://www.tinykat.cafe/static/23790c8be2d72cba09953ecb50c03cfc/8514f/screenshots-ruining-gh.png 192w,https://www.tinykat.cafe/static/23790c8be2d72cba09953ecb50c03cfc/804b2/screenshots-ruining-gh.png 384w,https://www.tinykat.cafe/static/23790c8be2d72cba09953ecb50c03cfc/e5715/screenshots-ruining-gh.png 768w,https://www.tinykat.cafe/static/23790c8be2d72cba09953ecb50c03cfc/4ad3a/screenshots-ruining-gh.png 1152w,https://www.tinykat.cafe/static/23790c8be2d72cba09953ecb50c03cfc/71c1d/screenshots-ruining-gh.png 1536w,https://www.tinykat.cafe/static/23790c8be2d72cba09953ecb50c03cfc/40493/screenshots-ruining-gh.png 2955w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  150. </a>
  151. </span></p>
  152. <p class="css-1tujudq">I'd like to point out that the idea of avoiding "diversity hires" as to not lower the bar of quality is still a prevalent sentiment within tech. Again, these are not just nameless 4chan trolls—they're people in our industry.</p>
  153. <h2 class="css-1qjzlku">... and should be punished.</h2>
  154. <p class="css-1tujudq">Yeah, these are gross. Apparently I should get fired and deserve the harassment because I'm an attention seeking whore on a programming platform! The platform I work on and create more value to developers than you ever will in your life!!</p>
  155. <p class="css-1tujudq"><span class="gatsby-resp-image-wrapper">
  156. <a class="gatsby-resp-image-link css-2n2eq4" href="https://www.tinykat.cafe/static/e7904e47d6c1e3ff58827b2096c64f78/50e7d/screenshots-ugh.png" target="_blank" rel="noopener">
  157. <span class="gatsby-resp-image-background-image"/>
  158. <img class="gatsby-resp-image-image css-9whsf3" alt="I should get no sympathy for abuse, should be fired, should kill myself" title="I should get no sympathy for abuse, should be fired, should kill myself" src="https://www.tinykat.cafe/static/e7904e47d6c1e3ff58827b2096c64f78/e5715/screenshots-ugh.png" srcset="https://www.tinykat.cafe/static/e7904e47d6c1e3ff58827b2096c64f78/8514f/screenshots-ugh.png 192w,https://www.tinykat.cafe/static/e7904e47d6c1e3ff58827b2096c64f78/804b2/screenshots-ugh.png 384w,https://www.tinykat.cafe/static/e7904e47d6c1e3ff58827b2096c64f78/e5715/screenshots-ugh.png 768w,https://www.tinykat.cafe/static/e7904e47d6c1e3ff58827b2096c64f78/4ad3a/screenshots-ugh.png 1152w,https://www.tinykat.cafe/static/e7904e47d6c1e3ff58827b2096c64f78/71c1d/screenshots-ugh.png 1536w,https://www.tinykat.cafe/static/e7904e47d6c1e3ff58827b2096c64f78/50e7d/screenshots-ugh.png 1738w" sizes="(max-width: 768px) 100vw, 768px" loading="lazy"/>
  159. </a>
  160. </span></p>
  161. <p class="css-1tujudq">That wasn't every screenshot from the threads, but is a good summary. The sheer volume of comments was definitely one of the more overwhelming aspects of this fuckery. Thanks for reading along this far.</p>
  162. <h2 class="css-1qjzlku">So if it wasn't clear:</h2>
  163. <p class="css-1tujudq">I was targeted by racist techies because of my background and visibility in order to be silenced and driven out of this industry. <span role="img" aria-label="middle finger">🖕</span></p>
  164. <p class="css-1tujudq">It was particularly cruel to harass me on the platform I work on everyday, where I design for open source communities. I couldn't focus at work and ended up taking two weeks off. This experience has really impacted the way I view tech and my place in it—but I'll save that for another post. </p>
  165. <h1 class="css-14vf4pd">This will happen again.</h1>
  166. <p class="css-1tujudq">I've already accepted that this won't be my last brush with online harassment, so long as I'm still a visible Asian woman in tech. And this is going to continue happening to me and less privileged tech workers for just existing and being successful. All we can do is protect and support each other, because it's not our job to fix this problem.</p>
  167. <p class="css-1tujudq">It's your move next, tech. Here are my suggestions, you can have them for free: </p>
  168. <h2 class="css-1qjzlku">To the most privileged tech leaders:</h2>
  169. <p class="css-1tujudq">When these events happen to your employees, are you investing actual money to support them? Are you monitoring content, encouraging time off, creating company policies, and covering their therapy? In lucky cases like mine, where the bulk of harassment may happen on the platform the victim works on, are you actively fixing pain points your employee experienced? Make sure you have a policy and detailed playbook, and definitely don't expect your marginalized employees to fix these problems for you. Don't wait until an incident arises—<strong class="css-0">it's always an "edge case" until someone's personal safety is threatened.</strong></p>
  170. <p class="css-1tujudq">By not having intentional protections for the most vulnerable in place, you're preventing employees from being productive at work (because they're dealing with bullshit!). And you're absolutely driving away diverse talent from joining your company. It's actually fucking up your business. Access and representation in tech isn't a pipeline or qualification problem. <strong class="css-0">It's a white supremacy problem.</strong></p>
  171. <blockquote class="css-1hj2jr3"><p class="css-1tujudq">And what still really creeps me out is that these people felt so emboldened to troll an EMPLOYEE using their actual GitHub accounts with legitimate work and contributions. <u>These harassers are everyday software engineers.</u></p></blockquote>
  172. <p class="css-1tujudq">Lastly, I want to circle back to this point about users with legitimate coding work harassing me. It's easy to dismiss these trolls as incel 4channers that we shun and don't associate with. Lol no. These are your people. They work at your companies and write your code. They are harassing or doxxing your other employees. This toxic behavior is still very much a part of your tech culture, and you keep rewarding it.</p>
  173. <p class="css-1tujudq">Fix. This. Shit.</p>
  174. </article>
  175. </main>
  176. </article>
  177. <hr>
  178. <footer>
  179. <p>
  180. <a href="/david/" title="Aller à l’accueil">🏠</a> •
  181. <a href="/david/log/" title="Accès au flux RSS">🤖</a> •
  182. <a href="http://larlet.com" title="Go to my English profile" data-instant>🇨🇦</a> •
  183. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">📮</a> •
  184. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">🧚</abbr>
  185. </p>
  186. <template id="theme-selector">
  187. <form>
  188. <fieldset>
  189. <legend>Thème</legend>
  190. <label>
  191. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  192. </label>
  193. <label>
  194. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  195. </label>
  196. <label>
  197. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  198. </label>
  199. </fieldset>
  200. </form>
  201. </template>
  202. </footer>
  203. <script type="text/javascript">
  204. function loadThemeForm(templateName) {
  205. const themeSelectorTemplate = document.querySelector(templateName)
  206. const form = themeSelectorTemplate.content.firstElementChild
  207. themeSelectorTemplate.replaceWith(form)
  208. form.addEventListener('change', (e) => {
  209. const chosenColorScheme = e.target.value
  210. localStorage.setItem('theme', chosenColorScheme)
  211. toggleTheme(chosenColorScheme)
  212. })
  213. const selectedTheme = localStorage.getItem('theme')
  214. if (selectedTheme && selectedTheme !== 'undefined') {
  215. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  216. }
  217. }
  218. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  219. window.addEventListener('load', () => {
  220. let hasDarkRules = false
  221. for (const styleSheet of Array.from(document.styleSheets)) {
  222. let mediaRules = []
  223. for (const cssRule of styleSheet.cssRules) {
  224. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  225. continue
  226. }
  227. // WARNING: Safari does not have/supports `conditionText`.
  228. if (cssRule.conditionText) {
  229. if (cssRule.conditionText !== prefersColorSchemeDark) {
  230. continue
  231. }
  232. } else {
  233. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  234. continue
  235. }
  236. }
  237. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  238. }
  239. // WARNING: do not try to insert a Rule to a styleSheet you are
  240. // currently iterating on, otherwise the browser will be stuck
  241. // in a infinite loop…
  242. for (const mediaRule of mediaRules) {
  243. styleSheet.insertRule(mediaRule.cssText)
  244. hasDarkRules = true
  245. }
  246. }
  247. if (hasDarkRules) {
  248. loadThemeForm('#theme-selector')
  249. }
  250. })
  251. </script>
  252. </body>
  253. </html>