summaryrefslogtreecommitdiff
path: root/blog/post/2019-06-24.html
diff options
context:
space:
mode:
Diffstat (limited to 'blog/post/2019-06-24.html')
-rw-r--r--blog/post/2019-06-24.html473
1 files changed, 0 insertions, 473 deletions
diff --git a/blog/post/2019-06-24.html b/blog/post/2019-06-24.html
deleted file mode 100644
index 77611e7..0000000
--- a/blog/post/2019-06-24.html
+++ /dev/null
@@ -1,473 +0,0 @@
-<!DOCTYPE html><html><head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<meta name="theme-color" content="#000000">
-<title>Chrisoft::Blog(r#"Working as an intern for "the spyware corporation"")</title>
-<meta name="description" content="«Working as an intern for &quot;the spyware corporation&quot;» de spelunca ursae">
-<meta name="author" content="Chris Xiong">
-<script type="text/javascript" src="/panel.js"></script>
-<script type="text/javascript" src="/themer.js"></script>
-<script type="text/javascript" src="/blog/footnoter.js"></script>
-<script type="text/javascript" src="/blog/aes-js.js"></script>
-<script type="text/javascript" src="/blog/scrypt.js"></script>
-<script type="text/javascript" src="/blog/sha256.js"></script>
-<script type="text/javascript" src="/blog/decryptor.js"></script>
-<link rel="stylesheet" type="text/css" href="/common.css">
-<link rel="stylesheet" type="text/css" href="/panel.css">
-<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
-<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
-<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
-<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
-<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
-<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
-<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
-<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
-<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
-<script>
-function ol()
-{
- window.onresize=function()
- {
- if(window.innerWidth<768)
- setupevents();
- else unsetevents();
- }
- window.onresize();
- loadTheme();
- _decryptonload();
-}
-</script>
-</head>
-<body onload="ol()" style="overflow-x:hidden;">
- <div id="panel" class="TText">
- <ul id="panellist">
- <li><a href="/"><h1>Chrisoft</h1></a></li>
- <li><a href="/blog"><h2>Blog</h2></a></li>
- <li><a href="#"><h3 id="title">Working as an intern for "the spyware corporation"</h3></a></li>
- <li><span>Tags</span>
- <ul id="tagslist">
- <li><a href="/blog/list/garbage/">garbage</a></li><li><a href="/blog/list/sophistry/">sophistry</a></li></ul>
- </li>
- <li id="tocouter">
- <span>Table of Contents</span>
- <ul id="tocroot">
- <li><a class="toctarg" href="#tocanch0">A few notes upfront…</a></li><li><a class="toctarg" href="#tocanch1">The Decision</a></li><li><a class="toctarg" href="#tocanch2">The Workplace, the
-Colleagues and the Life</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch3">My work</a></li><li><a class="toctarg" href="#tocanch4">Payment</a></li><li><a class="toctarg" href="#tocanch5">Final Days &amp; The days after</a></li></ul></li><li><a class="toctarg" href="#tocanch6">Shitty Code</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch7">pasteFilesV2 also deletes
-file</a></li><li><a class="toctarg" href="#tocanch8">Practically no coding
-conventions.</a></li></ul></li><li><a class="toctarg" href="#tocanch9">Weirdness, quirks and
-other strange things</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch10">“Developers’ lives matter!”</a></li><li><a class="toctarg" href="#tocanch11">Incompetent coworkers
-start to pop up</a></li><li><a class="toctarg" href="#tocanch12">“Designer-driven” development</a></li><li><a class="toctarg" href="#tocanch13">Code review, or “code
-flattery”?</a></li><li><a class="toctarg" href="#tocanch14">Privacy issues?</a></li></ul></li><li><a class="toctarg" href="#tocanch15">Dick moves</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch16">… as taken literally</a></li><li><a class="toctarg" href="#tocanch17">Rushing V20</a></li><li><a class="toctarg" href="#tocanch18">Lacking / bad community
-interaction</a></li><li><a class="toctarg" href="#tocanch19">Illegal business practice</a></li><li><a class="toctarg" href="#tocanch20">Restructure shenanigans</a></li><li><a class="toctarg" href="#tocanch21">Walking away from “the
-founders’ spirits”</a></li></ul></li><li><a class="toctarg" href="#tocanch22">Epilogue</a></li></ul>
- </li>
- <li style="margin-left:-0.5em"><a id="prevp" href="2019-04-25.html">Prev post</a></li>
- <li style="margin-left:-0.5em"><a id="nextp" href="2019-09-04.html">Next post</a></li>
- </ul>
- </div>
- <div id="content">
- <h2 id="titleh" class="TText" style="font-wight:normal;">Working as an intern for "the spyware corporation"</h2>
- <div id="datetags" class="TText" style="margin-bottom:1em;">2019-06-24<br>#garbage #sophistry</div>
- <hr><div id="article" class="TText"><article>
-<h2 id="tocanch0" class="tvis">A few notes upfront…</h2>
-<p>This post was supposed to come out as soon as it was finished. Well
-it looks complete but for some reason I couldn’t remember, I never made
-it public. Published 2024-02-17 without further modification.</p>
-<p>Original post starts below.</p>
-<p>If you are still unaware, the title is just sarcasm. As far as I
-know, the division I was working for does not work on any spyware.</p>
-<p>Also, this article is <strong>not</strong> approved by the propaganda
-division whatsoever. Everything is straight up garbage.</p>
-<h2 id="tocanch1" class="tvis">The Decision</h2>
-<p>As I have made up my mind to ‘strategically’ delay my graduation by a
-year, I initially hoped for taking the following months off and I did
-not plan for my graduation thesis at all. Therefore I intentionally
-skipped the subject selection process. All I wanted to do is chill for
-half an year and maybe make some contributions to several free software
-projects. Teachers noticed this and managed to persuade me to finish the
-graduation thesis this year. Only at this time did I realize how stupid
-I was – I am going to contribute to projects anyway, why don’t I take
-the chance to finish my thesis?</p>
-<p>However, as I have missed the opportunity to work on projects led by
-professors in my college, I had to look for intern jobs elsewhere. As I
-am not going to work for unethical companies, many companies my
-classmates are rushing into are not feasible for me. But actually I
-already have my choice in my mind: cause I am really interested in
-spying on how the ‘spyware corporation’ works on a daily basis.</p>
-<p>Finally, the choice was made. I tossed in my CV, which was put
-together in 5 minutes to them. Before long I got a quick reply. With
-everything settled down rather quickly, off I went.</p>
-<p>To sum it up, it was because:</p>
-<ul>
-<li>I was curious.</li>
-<li>I had plenty of time to waste.</li>
-<li>I wanted to get away from the campus I already spent 3 years
-in.</li>
-<li>with the additional benefit of finishing my graduation project.</li>
-</ul>
-<h2 id="tocanch2" class="tvis">The Workplace, the
-Colleagues and the Life</h2>
-<p>The workplace is nothing fancy. Dimly lighted, the work area is
-fairly cozy, possibly designed specially for us cavern-dwelling
-programmers. Computing devices are scattered throughout the enormous
-room, in which 90% of the local employees work.</p>
-<p>Co-workers here are competent to say at least (until they started
-rushing V20, as noted below). To list a few:</p>
-<ul>
-<li><a href="https://www.blumia.net/about.html">BLumia</a>: no more
-elaboration needed.</li>
-<li><a href="https://blog.justforlxz.com/about/">Kirigaya</a>: a little
-bit mean, a little bit naughty, but still nice guy to chat with.</li>
-<li><a href="https://github.com/zccrs">zccrs</a>: damn this guy
-definitely knows what he is doing when reviewing my shitty code. Rumors
-has it that he was once a wizard working for Nokia.</li>
-<li><a href="https://hualet.org/">Hualet</a>: that one who interviewed
-me. Passionate about free software. We talk quite a lot in private.</li>
-</ul>
-<p>Life quality in Wuhan was not a huge degradation compared to that of
-my university times, I’d put it that way. Commute times weren’t super
-long, foods here are nice (at least it rids me of the same kind of foods
-I had to have everyday on the campus), also I could for the first time
-cook for myself.</p>
-<p>Stereotype of the climate in southern China was broken: your clothes
-<strong>will</strong> be able to dry within a day, and you couldn’t
-really squeeze water out of the air.</p>
-<p>Public transit in Wuhan was tolerable until you got out of reach of
-the metro: the bus service was <strong>horrendous</strong>. There was no
-indication of where the actual station was, and the bus stops randomly
-‘roughly around’. I tried it once and dreaded having to take a bus ever
-since (fortunately, I didn’t).</p>
-<p>I lived in a rental room provided by Ziroom, which is essentially an
-apartment rental service broker. The apartment was shared by 5 persons,
-from which formed 2 couples, and … you guessed it, me. The room was
-relatively small (around 14m<sup>2</sup> in area), but super snug
-compared to my dorm in university. The real reason I find it that way,
-however, could ultimately be the fact that I was the only one inside and
-could do what ever I want.</p>
-<p>Interactions with roommates were minimal. In fact, I intentionally
-avoid interactions with my roommates because I was that type of a
-person.</p>
-<p>By the way, cooking is really deep a rabbit hole and I’m just getting
-down into it.</p>
-<p>All in all, it was a freshing experience for ‘an extremely spoiled
-child’ (as all my family members told me). I had fun, and I came back
-with every body part intact. I’m content with it.</p>
-<h3 id="tocanch3" class="tvis">My work</h3>
-<p>I mainly worked on the following things:</p>
-<ul>
-<li>Adding basic optical disc authoring functionality to the file
-manager.</li>
-<li>Move network configuration in the control center to the new code
-base.</li>
-<li>Giving the computer view in the file manager its new look.</li>
-<li>Random bug fixes in the file manager.</li>
-<li>A small portion of utility classes in DTK.</li>
-</ul>
-<p>There’s a lot of other miscellaneous stuff I did, some of which
-involves seizure-inducing programming languages
-<a id="n1" href="#note1" class="note">[1]</a>. I’m not going to list those things here.</p>
-<p>Actually, I promised to help revamping the infrastructure when I
-entered Deepin, mainly to improve its transparency (like Debian).
-However…</p>
-<ul>
-<li>They didn’t care.</li>
-<li>I wasn’t given time to do anything about it.</li>
-<li>I barely learned enough about how the current infrastructure
-works.</li>
-</ul>
-<p>And the promise was thrown straight out of the window.</p>
-<h3 id="tocanch4" class="tvis">Payment</h3>
-<p>Now looking back, I guess I was basically free labor <a id="n2" href="#note2" class="note">[2]</a> , donating my time to Deepin. I
-literately don’t care though, because I didn’t came for the money. It
-could be cringe-inducing to say, but their payment actually exceeded my
-initial expectation.</p>
-<p>By the way I actually even saved up a couple thousand during my time
-there. (Setting aside the fee ETS charged me for TOEFL and GRE of
-course. Those are nothing but f*cking cash grabs.) Guess it’s due to my
-extremely thrifty (stingy even) nature <a id="n3" href="#note3" class="note">[3]</a>.</p>
-<h3 id="tocanch5" class="tvis">Final Days &amp; The days after</h3>
-<p>I made my final commit on November 15th, and ended my internship on
-the same day.</p>
-<p>I stayed in Wuhan for another 30 days intermittently, finishing my
-final TOEFL test, visiting places, meeting with people, and most
-frequently of all, chilling in my ‘secret bear den’ (which refers to my
-rental room, obviously). Quite shockingly, I somehow managed to keep
-basically the same sleep schedule as the one before my internship
-ended.</p>
-<p>I returned home on January 3rd, and I was as lucky as one can ever
-be, cause all the coronavirus shenanigans just started to cook up.</p>
-<h2 id="tocanch6" class="tvis">Shitty Code</h2>
-<p>Never have I felt so involved with a programmer humor post until I
-have to actually deal with an old code base.</p>
-<h3 id="tocanch7" class="tvis">pasteFilesV2 also deletes
-file</h3>
-<p>When called with some obscene parameters, this function actually
-delete a file. What the hell.</p>
-<p>Even my code is arguably less shitty in this regard.</p>
-<h3 id="tocanch8" class="tvis">Practically no coding
-conventions.</h3>
-<p>Mixing tabs and spaces. Different indentation conventions.
-Incompatible naming schemes and even misspelled words in identifiers.
-You name it.</p>
-<p>In fact, deepin does have coding conventions, as listed <a href="https://hualet.org/blog/2019/07/23/deepin-qt/c-%E4%BB%A3%E7%A0%81%E9%A3%8E%E6%A0%BC%E6%8C%87%E5%8D%97/">here</a>
-and <a href="https://hualet.org/blog/2019/07/30/deepin-%E5%BC%80%E5%8F%91%E8%80%85%E8%A7%84%E8%8C%83/">here</a>.
-<a id="n4" href="#note4" class="note">[4]</a>
-Unfortunately, they are actively broken everyday in most projects.</p>
-<p>In defense of deepin though, this problem bothers a lot of other open
-source projects as well. My limited experience working with KDE’s
-codebase has already exposed that at least parts of KDE (namely
-libksysguard) suffers from the same problem.</p>
-<h2 id="tocanch9" class="tvis">Weirdness, quirks and
-other strange things</h2>
-<h3 id="tocanch10" class="tvis">“Developers’ lives matter!”</h3>
-<p>C’mon. If you have to equip your developers with computers that have
-inferior specs than your system requirements, don’t expect them to be
-super productive.</p>
-<p>Of course I understand they are currently under a rather tight
-budget, but they are offering quad core Core i5 to testers and new
-employees (some of which are quite incompetent, as described in the next
-section).</p>
-<p>Also, they refrain to provide necessary hardware for development.
-When I was adding optical disc authoring functionality to the file
-manager, my request to have a dedicated external optical drive was
-denied for some bizarre reason, and I had to share two optical drives
-with the testing department and the technical support department. This
-significantly hindered the development of the said feature, until I
-found a spare internal drive in the warehouse.</p>
-<p>Sometimes my friends there joked about the dessert as promised by the
-recruiter wasn’t being resupplied in time. For me, the dessert was
-really a surplus – I just want a computer that takes less than half an
-hour to build something!</p>
-<h3 id="tocanch11" class="tvis">Incompetent coworkers
-start to pop up</h3>
-<p>At a certain point of time (around June), I noticed a significant
-increase of personnel inside deepin. Many of these new employees are
-improperly trained. They don’t know how to incorporate git into the work
-flow (some know nothing about basic git concepts, or even about Linux at
-all), don’t look up documentation when troubled (instead they turn to
-CSDN <a id="n5" href="#note5" class="note">[5]</a> for help). As a result, the company had to spend
-extra time teaching them basic stuff, which to me seems a real waste of
-time.</p>
-<p>These incompetent employees are a major source of pain for project
-leaders. Some of them spent an entire day trying to figure out the cause
-of a very simple bug, without any level of success. Fortunately for
-deepin, most of them can reach some degree of competency after a few
-weeks of work (although they are still sometimes seen typing git
-commands from their notebooks).</p>
-<h3 id="tocanch12" class="tvis">“Designer-driven” development</h3>
-<p>This is a truly hilarious one. Here at Deepin (especially the project
-I’m personally working on, the file manager), product manager doesn’t
-decide what the program should be capable to do, the artistic designer
-does. The artistic designer almost has sole dictation on the
-specification of the product in this regard. We as developers can
-certainly dispute, but cases in which the designers changed their minds
-were rather rare, and most effort we made to persuade them was
-futile.</p>
-<p>By the way the current artistic designer is a very dedicated Apple
-fanboy. Expect some very Apple-ish bullshit in the next release.</p>
-<h3 id="tocanch13" class="tvis">Code review, or “code
-flattery”?</h3>
-<p>Code review is mandatory for every commit in Deepin. However policy
-of code review varied from people to people. The only one that really
-took it seriously was zccrs, who could almost always pick out the code
-where I screwed up <a id="n6" href="#note6" class="note">[6]</a>.</p>
-<p>On the other end of the spectrum was my friend, BLumia. His code
-review was usually just going through my code once, and seldom demand
-changes. At first I thought he was just giving me free passes, until I
-noticed obvious mistakes made by other coworkers that somehow slipped
-through code review. <a id="n7" href="#note7" class="note">[7]</a></p>
-<h3 id="tocanch14" class="tvis">Privacy issues?</h3>
-<p>I didn’t get to work on anything that actively connects to the
-Internet. So my position basically stayed the same as stated in my last
-article. To reiterate:</p>
-<ul>
-<li>They did a poor job dealing with public relationship.</li>
-<li>Telemetry should be off by default, or the user should be prompted
-whether they want it on installation.</li>
-<li>It’s free software though! You can check the code and strip
-everything unwanted.</li>
-</ul>
-<p>However, it’s probably getting even worse for Deepin (the
-distribution) users. I was told that an identifier of the user’s
-computer along with its specification might be used in the future. If
-you want to keep using DDE, but you still value your privacy, maybe
-consider moving to another distribution and install DDE there
-<a id="n8" href="#note8" class="note">[8]</a>.</p>
-<h2 id="tocanch15" class="tvis">Dick moves</h2>
-<h3 id="tocanch16" class="tvis">… as taken literally</h3>
-<p>As the amount of employees increases, space originally designated for
-everything else was re-purposed into work area. We had to move around
-while still working. Things were not looking good.</p>
-<p>Finally at the end of September, the company moved. This is regarded
-as the reaction to their increasing demand of workforces (as the old
-place has become very jam packed due to the sky rocketing number of
-staff), but it was also a very under-prepared dick move. Formal
-announcement of the move wasn’t published until the very last day. The
-new place is in the middle of nowhere and barely furnished. There are
-also two more completely empty floors, which are the source of later
-pains.</p>
-<p>The new place is much farther away, taking almost an hour by metro,
-or 40 minutes by commute shuttles. This forces me to get up a lot
-earlier, which is very disturbing. My overall life quality had
-definitely taken a punch after that.</p>
-<p>The place is actually bought from Huawei, who left a complete mess
-behind when they withdrew themselves from the place. Soon after we moved
-in, drilling and hammering sounds could be heard up stairs left and
-right. It was actually very nerve wrecking.</p>
-<p>As the company hasn’t yet settled down completely, many promised
-treatments are thrown out of the window. These include: desserts served
-during work hours (which are actually served as usual, but the amount
-didn’t increase as the number of employee rises. As a result, it’s
-basically gone.), monthly birthday celebration for employees, showering
-facilities, etc.</p>
-<p>This dick move made some of the coworkers staring to reconsider their
-life choices seriously.</p>
-<h3 id="tocanch17" class="tvis">Rushing V20</h3>
-<p>V20 is going to be the next major release of Deepin. Initially the
-planning for this release was rather relaxed: this major overhaul was
-projected to take about a year to mature, during which another one or
-two maintenance releases of the current Deepin 15 were planned. However,
-for some reason unknown to us <a id="n9" href="#note9" class="note">[9]</a>, the deadline was pushed back by a huge margin: now it’s
-expected to be released somewhere between Q4 2019 and Q1 2020.</p>
-<p>Now, suddenly the rapid increase of personnel makes sense. But I have
-to question the quality of the resulting software – and it’s not looking
-too good for them either. Many of the new applications suffer from major
-performance deficiency: one of the development snapshots of Deepin
-picture viewer takes more than two minutes to startup, and completely
-blacks out if the window is resized, the new archive manager can cause
-major lags on the file manager. Hell, even my own creation, the new
-computer view for Deepin file manager, suffers from some performance
-issues while resizing. But I simply didn’t have the time to address it
-completely.</p>
-<p>Wheels have been reinvented during the sprint, lots of them. In fact,
-it seems to be one of their goals to out-source no applications from
-other desktop environments. They even created a browser (based on the
-Chromium code base, of course) with the help from Qihoo 360 and an IME
-with the help from Sougou. I could give Deepin credit for the effort,
-but the quality of these wheels are questionable at best.</p>
-<h3 id="tocanch18" class="tvis">Lacking / bad community
-interaction</h3>
-<p>This is more or less the same thing as what I have already wrote in
-‘The “Deepin is spyware” problem’. But now that I have more insight, I
-could write more on this topic.</p>
-<p>Deepin is a for-profit company, feature requests from commercial
-customers always take priority. As the number of employees barely meets
-the need to develop those features, requests from the community are
-usually ignored straight away. Such filtering happens before the
-developers could see the feature requests – we won’t know about them
-unless we browse the support forum ourselves.</p>
-<p>The ‘designer-central’ process is very problematic too. In my
-opinion, Deepin’s chief designer is extremely self-centric, narcissistic
-even. This resulted in some very serious uproar in the community such as
-this one:
-https://github.com/linuxdeepin/developer-center/issues/1210#issuecomment-496341368
-Sometimes even the developers couldn’t put up with these design choices,
-and added hidden options for switching to something more sensible.</p>
-<h3 id="tocanch19" class="tvis">Illegal business practice</h3>
-<p>Namely, deepin-wine breaking GNU LGPL.</p>
-<p>Deepin has been distributing a fork of an outdated branch of wine
-without releasing the source code for quite some time, which is a very
-explicit disregard to wine’s license.</p>
-<p>They have promised to release the source code, but has yet to do so.
-In the mean time, wine has made three stable releases. So far they have
-only came up with a single justification: the fear of their domestic
-commercial competitors <a id="n10" href="#note10" class="note">[10]</a>‘stealing’ their hard work. If
-this bullshit stands for even a second, everybody on this planet would
-have been a drug dealer ’cause laws don’t do shit.</p>
-<p>To be frank, we have dozens of (L)GPL breakers here in China and we
-never stop producing even more of them. We have Allwinner and XiaoMi, to
-name a few. FFmpeg’s original hall of shame page would give you a even
-longer list, and you will find the names of some gargantuan Chinese tech
-companies in it.</p>
-<p>I don’t even think Deepin’s international acceptance has anything to
-do with its commercial success (or lack thereof). Do they even have any
-overseas commercial customers? If Deepin has really been a commercial
-success, I probably wouldn’t have to develop with a computer equipped a
-shitty Pentium that otherwise would find its home in the dumpster.</p>
-<h3 id="tocanch20" class="tvis">Restructure shenanigans</h3>
-<h3 id="tocanch21" class="tvis">Walking away from “the
-founders’ spirits”</h3>
-<p>This is definitely, definitely a huge misstep and a real deal
-breaker.</p>
-<p>IMO Deepin was once among the best meritocracy free software
-community in China. However with the changes applying to their roadmap
-since v20, everything started to disintegrate.</p>
-<p>Barriers were deliberately added to the community contribution
-process (the repositories on GitHub are now merely synced with internal
-repositories). Writing documentation was considered slacking (happened
-to me a couple of times), making the already terrible documentation
-situation even worse. They basically stopped even trying to make the
-development process transparent to the public.</p>
-<p>User’s freedom was thrown out of the window. Community edition now
-requires logging into an online account to enable root access, which is
-basically the first step to a complete vendor lock down. I imagine many
-users would resort to other distros and install DDE instead (if they
-still fancy using DDE in its new look and feel).</p>
-<p>Don’t get me wrong. DDE was (and still is) a beautiful desktop
-environment (even only superficially as some people might thought). It
-has followers who will use it no matter what. However, it demands a
-fork. A fork with its founders’ spirits in mind.</p>
-<h2 id="tocanch22" class="tvis">Epilogue</h2>
-<p>I’ve actually tried out the current public beta of Deepin V20 as of
-writing this section, and the majority of the issues I mentioned above
-still hold up. Grave performance degradation seems a lot less common
-though, although my shitty-performing computer view code has barely been
-touched since I left. A lot of applications are still in dare need of
-polishing. They’d better keep those commits flowin’.</p>
-<p>At this point of time I don’t even know what I was rambling about. It
-was 1:40 in the morning. Did I just typed over 15000 characters only to
-diss Deepin? Nope. Dwelling on our past success never makes us progress.
-It’s the reflection upon the mistakes we made that does.</p>
-<p>https://www.zhihu.com/question/344339517/answer/817025546</p>
-</article>
-<!--
-vim: tw=0 syntax=markdown spell spelllang=en_us
--->
-</div><br><hr>
- <div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: vala?<br></span><span class="TText"><a id="note2" href="#n2">[2]</a>: and
-definitely not a shitty one that only does repetitive work! In fact
-while I was once chatting with Hualet, he told me I was probably among
-the best interns ever here.<br></span><span class="TText"><a id="note3" href="#n3">[3]</a>: cough cough, RTX 2080,
-cough cough.<br></span><span class="TText"><a id="note4" href="#n4">[4]</a>: These were formerly available on a documentation website on
-one of deepin’s domains, but were somehow taken down later.<br></span><span class="TText"><a id="note5" href="#n5">[5]</a>: CSDN is a blogging platform and a forum for Chinese
-developers. We don’t have stackoverflow or a clone of it here in China,
-so CSDN became the savior of many Chinese programmers. Unfortunately
-most of the user base of CSDN are equally bad as these new
-employees.<br></span><span class="TText"><a id="note6" href="#n6">[6]</a>: His code reviews were sometimes even to a
-degree of nitpicking, but I’m not really complaining since my code is
-shit.<br></span><span class="TText"><a id="note7" href="#n7">[7]</a>: To BLumia: if you are reading this, I’m
-not trying to be harsh here. It’s just a small reminder that you should
-probably pay more attention to code review (if you’re still doing
-it).<br></span><span class="TText"><a id="note8" href="#n8">[8]</a>: A lot of this stuff is specific to Deepin (the distribution),
-so you can get rid of most (but not all) of them by doing
-so.<br></span><span class="TText"><a id="note9" href="#n9">[9]</a>: everyone has their own
-speculations, of course. Mine is that they wish to hand out a surprising
-present to their users, which I don’t feel super positive
-for.<br></span><span class="TText"><a id="note10" href="#n10">[10]</a>: Please, don’t mention the ones backed
-by the government (or in other words, ‘GuanXi’). They are not an excuse
-for breaking laws or licenses.<br></span></div>
- <div id="insanch" style="height:3em;"></div>
- <div id="footer" style="">
- <div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
- <div style="text-align:center;" class="TText">
- Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
- <br>
- Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
- </div>
- </div>
- <div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
- </div>
- </div>
- <div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
- <div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
- <div id="keyhint" style="margin-bottom:8px;"></div>
- <div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
- <div style="height:2.25em;">
- <button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
- <button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
- </div>
-
- </div>
-
-
-</div></body></html> \ No newline at end of file