<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>manu</title>
    <description>Repository for ma.nu</description>
    <link>http://ma.nu/</link>
    <atom:link href="http://ma.nu/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Fri, 07 Aug 2026 15:37:07 +0000</pubDate>
    <lastBuildDate>Fri, 07 Aug 2026 15:37:07 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>Against Humanity</title>
        <description>&lt;p&gt;&lt;img src=&quot;img/2025-07-18_against_humanity.jpg&quot; alt=&quot;A photo montage with 9 faces: Akayesu, Hitler, Karadzic, Milosevic, Mladic, Netanyahu, Pinochet, Pot, Putin.&quot; title=&quot;A photo montage with 9 faces: Akayesu, Hitler, Karadzic, Milosevic, Mladic, Netanyahu, Pinochet, Pot, Putin.&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Fri, 18 Jul 2025 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/against-humanity</link>
        <guid isPermaLink="true">http://ma.nu/blog/against-humanity</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Japan I ❤ you</title>
        <description>&lt;p&gt;(Still in progress)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I love you because you in Japan you are entitled to the general feeling that, in general, companies and other people aren’t out to try screwing you every way and whenever they can.&lt;/li&gt;
  &lt;li&gt;I love you because for two weeks every year, when cherry trees blossom, you are virtually indistinguishable from heaven.&lt;/li&gt;
  &lt;li&gt;I love you because your traditional eating habits are both healthy and yummy.&lt;/li&gt;
  &lt;li&gt;I love you because jazz is actually popular as background music in your cafes and shops.&lt;/li&gt;
  &lt;li&gt;I love you because everyone is trying their best not to intrude into other people’s lives as much as possible.&lt;/li&gt;
  &lt;li&gt;I love you because at every street corner there’s a chance to find a hidden, lovely temple.&lt;/li&gt;
  &lt;li&gt;I love you because people are kind.&lt;/li&gt;
  &lt;li&gt;I love you because you can leave your wallet unattended, your bike unlocked, your apartment door open, and nobody will steal anything.&lt;/li&gt;
  &lt;li&gt;I love you because your cemeteries are beautiful. Because they are filled with ashes instead of corpses, I don’t find them creepy (yes I would like to be incinerated please. Err wait not right now, after I pass away, thanks).&lt;/li&gt;
  &lt;li&gt;I love you because everything, everywhere, is as clean as reasonably possible. I regularly see metro employees sweeping the stairs (I lived in Paris for 25 years, never saw that), or dog owners splash a small bucket of water where their dog just peed (never saw that anywhere else).&lt;/li&gt;
  &lt;li&gt;I love you because everything, everywhere, is convenient, well thought out.&lt;/li&gt;
  &lt;li&gt;I love you because your public transit rocks.&lt;/li&gt;
  &lt;li&gt;I love you because all women are lovely and adorable in their own way.&lt;/li&gt;
  &lt;li&gt;I love you because your subway plays cute little music instead of a boring beep before the doors close. And it’s always a different one.&lt;/li&gt;
  &lt;li&gt;I love you because women (and men) aren’t afraid of falling asleep on the subway.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/japan-i-love-you</link>
        <guid isPermaLink="true">http://ma.nu/blog/japan-i-love-you</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>A Short Stint at KOMODO &amp; horizontal/vertical development</title>
        <description>&lt;p&gt;Table of Contents&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;#disclaimer&quot;&gt;Disclaimer&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#reason-1-basil&quot;&gt;Reason #1: Basil&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#reason-4-infantilization&quot;&gt;Reason #4: Infantilization&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#reason-2-horizontal-vertical-and-over-engineering&quot;&gt;Reason #2: Horizontal, vertical, and over-engineering&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#reason-3-hiring-profile&quot;&gt;Reason #3: Hiring Profile&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#valve&quot;&gt;Valve&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#coda&quot;&gt;Coda&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I really wanted to like KOMODO. A small, friendly company, based in both the
US and Japan, who hired me to work on a product,
NIUHI (yes, also all-uppercase), really well-aligned with my own interests and
professional experience. Unfortunately, I was only there for about a month.&lt;/p&gt;

&lt;p&gt;The interviews went well, and I started on June 13th, 2024. I loved the people
in their Tokyo office, and I &lt;del&gt;bribed&lt;/del&gt; tried
my best to make them like me too (brought donuts, a home-made fruit pie, gifted a
milk frother to make cappuccinos, etc.). I suggested some changes here and there
and made little tools to help streamline things, all enthusiastically welcomed.
People told me later on that they had enjoyed my “fresh and creative” take on
things and were looking forward to more.&lt;/p&gt;

&lt;p&gt;Alas, it was not to be.&lt;/p&gt;

&lt;h2 id=&quot;disclaimer&quot;&gt;Disclaimer&lt;/h2&gt;

&lt;p&gt;For most of my career, I’ve been insanely lucky (I might say spoiled) as an employee. I worked for
large organizations that treated their workforce extremely well. Most workers
in the world do not have the luxury of criticizing how their manager behaves with
them, or complain about someone’s bossy tone. Most don’t have the financial
stability to quit a job after just one month if they don’t like it.&lt;/p&gt;

&lt;p&gt;That being said, this is my extremely pedantic and unforgiving post, partly to
get this out of
my system (I &lt;a href=&quot;http://www.amazon.com/dp/B00A33UK1S&quot;&gt;tend to do that&lt;/a&gt;), and
partly to have something to reference when people ask me.&lt;/p&gt;

&lt;h2 id=&quot;reason-1-basil&quot;&gt;Reason #1: Basil&lt;/h2&gt;

&lt;p&gt;I’ll start with a simple situation.&lt;/p&gt;

&lt;h3 id=&quot;because-its-a-navigation&quot;&gt;Because it’s a navigation&lt;/h3&gt;

&lt;p&gt;NIUHI, a web application, had wording that I found odd when I first used it.
The initial page had a button that read “Go to Sign In”. Once logged in,
another link read “Go to Sign Out”. Most applications would simply read
“Sign in / out” (or “Log in / out”), and I thought the “go to” wording may
be confusing to users.&lt;/p&gt;

&lt;p&gt;We were 3 engineers working on the NIUHI team. Mehari, based in Tokyo like me, was
sitting next to me as I noticed the unusual wording, so I asked him what he
thought. He agreed and said he had been mildly bothered by it as well.&lt;/p&gt;

&lt;p&gt;So I prepared a very simple proposal to change it. If anything, it was a bit
over-polished, with before/after screenshots, for such a small and (I thought)
uncontroversial change. But I was still new on the team and wanted to show that
I was thorough, even for something small like this.&lt;/p&gt;

&lt;p&gt;Enter Basil, the third engineer on the team, who was working remotely.
Apparently I had stepped on a piece of Basil’s protected garden, because he
promptly replied: ‘It’s “go to” because it’s a navigation.’ (the 👑 icon is,
obviously, my addition):&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;img/2024-08-01_komodo/go_to_sign.png&quot;&gt;&lt;img src=&quot;img/2024-08-01_komodo/go_to_sign.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That reply struck me as 1) unnecessarily condescending, 2) rather terse, and 3) not
really welcoming any further discussion. I was baffled. Note that in my reply
below, I am trying my best not to be assertive (question marks) and to include
examples of well-known applications for support.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;img/2024-08-01_komodo/go_to_sign_examples.png&quot;&gt;&lt;img src=&quot;img/2024-08-01_komodo/go_to_sign_examples.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Still unsure about whether I was being weird about finding this so obvious,
I tried to gather more data, and went back to the rest of the team (designers,
etc.), asking for “yay/nay/suggest other wording” for this change, on Slack.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;img/2024-08-01_komodo/go_to_sign_examples_bis.png&quot;&gt;&lt;img src=&quot;img/2024-08-01_komodo/go_to_sign_examples_bis.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Basil saw that thread but decided to refrain from interacting nor
explaining a little more why he preferred “go to”. I quite like, from the
&lt;a href=&quot;rules-of-ensemble-playing&quot;&gt;rules of ensemble playing&lt;/a&gt;, rule #11 “If you alone are right and everyone else is wrong, follow the wrong.”&lt;/p&gt;

&lt;p&gt;Maybe he realised he would
have to back down, so he reverted to criticising the “how” instead of the
“what”, so that he could feel he was still right?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;img/2024-08-01_komodo/go_to_sign_how.png&quot;&gt;&lt;img src=&quot;img/2024-08-01_komodo/go_to_sign_how.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The idea of “tweaking text strings” in “one pass across the app” was so
fundamentally contrary to my conception of software development
that I was even more baffled.&lt;/p&gt;

&lt;p&gt;In my mind:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;You make something&lt;/li&gt;
  &lt;li&gt;You test it yourself and perhaps ask a group of people to test it (“dogfooding”)&lt;/li&gt;
  &lt;li&gt;They find problems, come up with suggestions&lt;/li&gt;
  &lt;li&gt;You implement the corresponding features, fix the bugs&lt;/li&gt;
  &lt;li&gt;You release the new version, people notice the improvements&lt;/li&gt;
  &lt;li&gt;Rinse and repeat.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Is it a common
approach, if a given issue is small (or the fix not “impactful” enough), that we should
actively refrain from fixing it, and instead make a note of it and fix all the small issues
together at the end? After having been increasingly bothered by all the small
kinks left unfixed until then? Playing the devil’s advocate, for something like
the change of a colour, that could make sense, because all colours interact with
one another, and it’s perhaps better to change them all in one go. But in
this case, I am still scratching my head. While we’re at it, if we need to
launch on Sept 1st, let’s do exclusively new features starting July 1st until
August 30th, make sure we never actually use the application, then
on August 31st morning ask our friends to test it, and on the afternoon, fix
all the bugs.&lt;/p&gt;

&lt;p&gt;Anyway, this wasn’t a hill I was prepared to die on, and what was right or
wrong here in terms of the actual wording is almost besides the point. It was
more about the nature of the interaction. Bumpy start.&lt;/p&gt;

&lt;h3 id=&quot;questioning&quot;&gt;Questioning&lt;/h3&gt;

&lt;p&gt;The topic of the discussion below is almost comically minor, but it’s also
pretty much irrelevant. Again, regardless of who was right or wrong, what I
find interesting here is that 1) despite Mehari’s mild attempts to assert his
continued disagreement (note his “thinking” emoji after Basil’s “magic URL”
remark) and very slightly passive-aggressive “if it bothers you” and
“Well. It’s closed :-) “, Basil seemed less keen on finding a common ground than
on obtaining compliance (shall I say “obedience”?),
and 2) despite having the only two other members of the
team disagree with him, Basil showed no sign of questioning his position or
trying to understand ours.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;img/2024-08-01_komodo/pr_drafts.png&quot;&gt;&lt;img src=&quot;img/2024-08-01_komodo/pr_drafts.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;the-answers-no&quot;&gt;The Answer’s No&lt;/h3&gt;

&lt;p&gt;In a video meeting with Basil, Mehari, the team’s designers Kacie and
Elné, and myself, Basil was getting increasingly annoyed because I
disagreed with him on a particular point, and because I was trying to let the
designers be tie-breakers. Towards the end of the meeting, I asked Kacie a
question. Before I could finish asking it, Basil cut me off and said “The
answer’s no.” I had an urge to reply sarcastically “thank you, Kacie”, but
I managed to control myself.&lt;/p&gt;

&lt;h3 id=&quot;lets-discuss-until-you-agree-im-right&quot;&gt;Let’s Discuss Until You Agree I’m Right&lt;/h3&gt;

&lt;p&gt;After a couple of weeks of this, I was already on the verge of quitting. I
think Basil may have realized something, because he set up a one-on-one video
call with me for the first time. To his credit, he tried to defuse some of the
tension. I also tried to be conciliatory, seeing the good side of his trying to
control everything as a love for a job well done. But in that
discussion as well as subsequent ones, I noticed that as soon as I
showed my willingness to go along even though I disagreed (because after all I
was the newest team member and should adapt to the team’s views), Basil would
say “right on” and the discussion would stop abruptly. I came to realize that
these
weren’t so much “discussions” but rather “let’s chat until you admit you are
wrong and I am right”.&lt;/p&gt;

&lt;h3 id=&quot;oh-actually&quot;&gt;Oh actually…&lt;/h3&gt;

&lt;p&gt;In the following discussion, I made a drive-by suggestion. Again, note my trying
not to be too assertive, and contrast with Basil’s peremptory tone.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;img/2024-08-01_komodo/oh_actually.png&quot;&gt;&lt;img src=&quot;img/2024-08-01_komodo/oh_actually.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Immediate reaction: “nope, I’m right you’re wrong”. After a while:
“oh, actually…” Kudos for the willingness to eventually consider the
suggestion seriously, which I believe should be the standard, good-faith approach.&lt;/p&gt;

&lt;h3 id=&quot;because&quot;&gt;Because?&lt;/h3&gt;

&lt;p&gt;Sometimes Basil wouldn’t even try to pretend like he was willing to discuss.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;img/2024-08-01_komodo/prefixes.png&quot;&gt;&lt;img src=&quot;img/2024-08-01_komodo/prefixes.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(We hadn’t mentioned this matter before.)&lt;/p&gt;

&lt;p&gt;The king hath spoken. Reasons, rationales, explanations? Those are for weaklings.&lt;/p&gt;

&lt;h3 id=&quot;hierarchy&quot;&gt;Hierarchy&lt;/h3&gt;

&lt;p&gt;I remember distinctly that one instance of Basil’s attitude and what seemed to
me like arguments of authority prompted me to seek the company’s
org chart for the first time. KOMODO was proud of its very flat structure (on
paper, my direct supervisor was the CEO), so I had implicitly assumed that there
wasn’t any obvious hierarchy within the engineering team. Then I noticed that
Basil had the word “lead” on the org chart. “We’re flat, but I’m still the boss.”&lt;/p&gt;

&lt;h3 id=&quot;fixing-things&quot;&gt;Fixing things?&lt;/h3&gt;

&lt;p&gt;Why not bring up the problem and discuss, rather than weaseling out by quitting
after one month? The answer is a combination of:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I am a conflict-avoidant coward.&lt;/li&gt;
  &lt;li&gt;Discussion is pointless unless you believe it may change something. I was
fairly confident that Basil would not budge, that he wasn’t going anywhere,
and that I wasn’t going to be able to work around him.&lt;/li&gt;
  &lt;li&gt;To use a questionable analogy, a romantic relationship that’s been going on
for years is definitely worth the effort to try to fix it when problems arise.
But if the problems are obvious at the first date, isn’t it simpler to just
recognize the incompatibility and go our separate ways? I worked for Google
for 15 years. 1 month is a first date.&lt;/li&gt;
  &lt;li&gt;If I had believed the project I was working on was really one-of-a-kind,
and would truly make the world a better place, I would likely
have bit the bullet and tried my best to go with the flow. But as things
were… Meh. I have better things to do with my time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;summary-of-reason-1&quot;&gt;Summary of reason #1&lt;/h3&gt;

&lt;p&gt;Have I
been overreacting? Probably. But what is a relationship made of, if not the
sum of those daily,
almost mundane interactions? If they are minorly but consistently toxic, it
makes one’s daily life miserable and quickly obliterates the joy of working on
an interesting project. Ironically, I had stated several times during the
interviews (and I know the message was received because it was then repeated
to me as a good thing) that at this point in my career, the people I worked
with were more important to me than the project I worked on.&lt;/p&gt;

&lt;p&gt;Am I the baddy? Please disagree with me. This blog doesn’t have comments, but
please send me an email (address in my resume, ‘about’ page).&lt;/p&gt;

&lt;p&gt;When I sent my resignation letter and was asked what my reasons were, my
reason #1 was “I have found [Basil] to be very hard to work with. And if I say
this, I am guessing he probably hasn’t enjoyed working with me either, so I am not sure
I am able to bring value to the team as it is. I can provide more detail or
examples if necessary. In a large company, I would likely try to switch to
another team — not practical in this case.”&lt;/p&gt;

&lt;h2 id=&quot;reason-4-infantilization&quot;&gt;Reason #4: Infantilization&lt;/h2&gt;

&lt;p&gt;(Yes, I know these are out of order. Sorry. More below.)&lt;/p&gt;

&lt;p&gt;As I wrote in my resignation explanation:
“This is probably attributable to differences in company/country cultures,
but I have found that employees tend to be more infantilized than I am used
to. Again — matter of perspective, and happy to provide examples.”&lt;/p&gt;

&lt;p&gt;Some specific examples:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;As a new employee, I was on “probation” for 3 months. Fine. But that meant
I could not be alone in the office before 9:30 AM, nor after ~7 PM. Effectively,
this meant I had no option but to be in the subway at rush hour both ways.
Seriously, did I go through all the trouble of getting hired so that I could
steal some monitors? Or trash the office for some reason? Companies I worked
for in the past (e.g. Twitter, Google)
had both more trust in their employees from day one, and offices with much more
valuable physical assets.&lt;/li&gt;
  &lt;li&gt;I was subject to extended background checks both before being hired
(reasonable) and after (huh?), requiring me to follow up multiple times with
more documents and references about my education and work history. Did they
find anything suspicious? After I started, was I doing such a terrible job
that some extra scrutiny was required?&lt;/li&gt;
  &lt;li&gt;When I attended the team’s first “daily stand-up” video meeting I realized a
lot of time was wasted when each member, after talking, was trying to find
the next person to nominate. I suggested that everyone who wished to give an
update could have their virtual “hand” raised (feature of “Google Meet”),
which would solve both the order problem (there was a queue of raised hands)
and the “did Jenny go yet?” problem. That was quickly adopted. Then during one
meeting the CEO noticed that not everyone had talked, and proceeded to put
Neil on the spot for giving his missed “update”. First, I believe it’s
reasonable to trust that employees are mature enough to decide if they have
something valuable to share with the team. Second, even
if you do want to enforce that everyone should speak up regardless, you can
address that later in one-on-one communication instead of shaming a particular
person.&lt;/li&gt;
  &lt;li&gt;KOMODO uses “Freee” as a time-management service. For this, there is likely
very little to blame on the company itself because I’m sure there are strict
Japanese regulations (probably aimed at preventing too much overwork). But I
found the time management to be unnecessarily nosy. With this tool, you have
to clock in (load a web page, login — it doesn’t remember you from day to
day — and click “start day”), clock out at the end of the day, and log breaks beyond the standard
one-hour lunch break. I was told things didn’t need to be very precise. But
then why use the tool at all? Why not relieve your employees of this burden,
just log a blanket 9-to-5 schedule for all weekdays, and trust your employees
to do what they think it right?
I was a little surprised, on my first day as I was
having lunch with Mehari, and warned him that I ate kind of slowly, to see
his concern that the lunch would overflow the allotted hour. I had been
under the impression that the whole industry (and soon the whole world) had
moved towards evaluating the work you produce rather than butt-in-chair
hours. Oh, and Freee also asks your browser for your precise location every
time you clock in and out.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lastly, I find it mildly amusing that immediately after asking why I thought the
company infantilized its employees in my resignation explanation, it was deemed
necessary for me to move out
of the project because I may throw a tantrum and sabotage it, and to stop
interacting with the rest of the team because I may have a bad influence on
them.&lt;/p&gt;

&lt;h2 id=&quot;reason-2-horizontal-vertical-and-over-engineering&quot;&gt;Reason #2: Horizontal, vertical, and over-engineering&lt;/h2&gt;

&lt;p&gt;The day I started and looked into how to run NIUHI locally so I could start
contributing, I realized how over-engineered it was, and not
just because it took me a couple of full days to actually get it running.
Let me start by listing all the technologies on top of which it was built:&lt;/p&gt;

&lt;p&gt;“Postgresql” for storing the data.
“Prisma” as an abstraction layer on top on that.
“pnpm” package manager.
Four different binaries (a conversion service, a backend, a user-facing
web app, a partner-facing web app).
“turborepo” for managing all these within the same repository.
“Node JS” for all the servers.
“Nginx” used as a reverse proxy for local hostname management.
“Typescript” which gets compiled down to JavaScript.
“Firebase” / OAuth from Google for authentication.
“GraphQL” for client-server communication.
“Vue JS” for the frontend.
“urql” for interfacing GraphQL and Vue.
“Prime Vue” for some UI components.
“Intlify” for internationalisation.
“Tailwind” for the styling.
Multiple other small libraries providing “composables”.
“Nuxt JS” and on top of that, a bunch of custom-made UI components, half of which weren’t actually used
anywhere yet.&lt;/p&gt;

&lt;p&gt;Looking at this, of course the optimistic view would be: reuse, don’t reinvent
the wheel, this looks great (except perhaps for all the components that were
developed in-house before there was a need for them). Each of these technologies was a perfectly
reasonable choice for the specific problem it was solving.&lt;/p&gt;

&lt;p&gt;The problem was that despite the robust architecture, the application was
still in its early stages and had very limited functionality.
The user-facing web app wasn’t much more than a blank slate: four pages made of
mostly placeholders and a navigation bar between them. It was nicely responsive
to screen size though. But it didn’t have much to show. And even when it did,
the various pieces didn’t really work well together. Custom tooltips would often
appear off-screen. The
feature supposed to speed up development by instantly making changes reflected
in the running application didn’t work most of the time. Parts of the fancy
dynamic styling wouldn’t load until after waiting half a minute. The theming
code had several layers of indirection with a good hundred CSS
variables even though the app was planned to launch with two, and then one,
theme.&lt;/p&gt;

&lt;p&gt;The payment system was ready for all countries. The developers had done a very
thorough survey of all the world’s currencies and how they mapped to countries,
concluding that places like Namibia, Venezuela, and Palestine, were edge
cases. Would the application ever have users in Namibia? Probably not.&lt;/p&gt;

&lt;p&gt;Was this good engineering? Definitely. Was it a clever use of engineering
resources? In my opinion, absolutely not.&lt;/p&gt;

&lt;p&gt;The whole project was a repository of textbook “YAGNI” examples (“you ain’t
gonna need it”).&lt;/p&gt;

&lt;p&gt;Of course &lt;a href=&quot;https://xkcd.com&quot;&gt;xkcd&lt;/a&gt; has long had a comic for this:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://xkcd.com/974/&quot;&gt;&lt;img src=&quot;img/2024-08-01_komodo/the_general_problem.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Moreover, because pieces of the app had been built independently (among other
“historical” reasons), there was a fair amount of duplication in the UI code,
as well as competing/confusing pieces in the shared database schema. When I suggested some fixes,
they were deemed great in principle, but too much effort in the roadmap. So not
only did the team go generally against what I thought were widely
accepted practices (build a “minimum viable” application and iterate, favor small changes, etc.), but
it was actively getting me used to what I consider bad practices.&lt;/p&gt;

&lt;p&gt;The main disagreement here may be about building vertically versus building
horizontally. In my experience, it is smarter to start simple, and iterate.
Build a “minimum viable” application, after having laid out the foundations
to support it. Start with a good, solid, simple core experience. Make it work
end to end and start testing it with your team, company, friends, selected
testers. If you make a video game, start with just “wireframes”, make just a
couple of levels to iterate on and see if it’s fun to play: if it isn’t, the
time spent making the character pixel-perfect is
wasted. That’s what I would call building “vertically”.&lt;/p&gt;

&lt;p&gt;In contrast, it felt like the NIUHI team, in trying to build a house, laid
out enough foundations for a megalopolis, but with just a bike shed on top of
it. That’s what I would call building “horizontally”. Of course, this is fine
if you know in advance that your end goal is indeed a megalopolis, that you have unlimited funding, already have all the plans, and that those will not change during development. In
that case, it doesn’t really matter in what order you build things (though
I would still argue that building things vertically will allow for more
efficient resource management and testing/dogfooding flow). But 1) if you are a small
company, you don’t know that you’ll have enough success and resources to reach
the megalopolis goal, and 2) plans that don’t change? Has anyone ever seen that?
The “final” mock-ups for the UI pieces I was trying to build changed several
times in pretty major ways during my one-month tenure, and that’s how it should
be! Designers need to be able to iterate depending on how the real UI (not
static mocks) feels.&lt;/p&gt;

&lt;p&gt;Here is a very symptomatic instance of this horizontal vs vertical disagreement.
At one point I was building the “user settings” page. A page where users of the
app would change their name, avatar, preferences, etc. There was a mock-up
showing all the input fields and their arrangement. Even though it was marked
as “final”, it was obviously not quite final because it included many things
that we agreed wouldn’t be part of the initial version. It was also a static
image, while the page needed to have more complex interactions,
including validating the inputs locally and/or with the server, problems nicely
communicated to the user, etc., none of which appeared in the mock. In my
usual “start simple and iterate” approach, I started with a proposal with just
one field for the user’s name. The idea was that we would use this as a
“trail blazer”, iterate on the way data was entered, validated, saved, etc.,
and use it as an example for incrementally building the rest of the page. Vertical. Basil didn’t
like my approach and thought (“respectfully” — when Basil starts a sentence with
“Please” or “Respectfully”, brace yourself) that I was wasting the team’s time
because it looked nothing like the (“final”) mock-up — which
of course it wasn’t meant to.&lt;/p&gt;

&lt;p&gt;So, my resignation reason #2 was
“I don’t know much about the history of NIUHI, but from what I saw I think the
application is very bloated and over-engineered in comparison to what it can
actually do right now (which leads to low eng velocity), and I think the
general approach to build it is not right (my opinion — obviously). At this
point I do not feel like it’s my place to suggest deep changes in the app or
in the process. I have no desire to prove I am right and I am often wrong,
but I do want to try and bring something to the team, and at least have a
general expectation that these attempts would be welcomed with an open mind.
This may very well be my fault for not having been able to build enough
trust yet.”&lt;/p&gt;

&lt;h2 id=&quot;reason-3-hiring-profile&quot;&gt;Reason #3: Hiring Profile&lt;/h2&gt;

&lt;p&gt;“The team has been specifically hiring for senior engineers, but I am
questioning whether this is really what the eng team wants at this stage.
I think they may want someone who is an efficient executant able to do things
the team wants, exactly the way the team wants them done. If this were the
sole problem, I would be happy to try my best and adapt as necessary.”&lt;/p&gt;

&lt;p&gt;By “the team” I really meant “Basil”. As a side note after those 4 “reasons”,
I said all the things that I liked about KOMODO, and I mentioned that I believed
NIUHI needed someone playing the role of a product manager.&lt;/p&gt;

&lt;h2 id=&quot;valve&quot;&gt;Valve&lt;/h2&gt;

&lt;p&gt;During my own interview process, and when I was being trained on interviewing
candidates, I was a little surprised at how lengthy and selective the hiring
process was, which helped explain that KOMODO was having a hard time hiring
people. I think the CEO took a well-known company, Valve, as a model — both for
the flat hierarchy and for the hiring practices. While I share his admiration
for that company’s model, I think it overamplifies the “buy” side of the hiring
transaction, and discounts the “sell” side. If you’re Google, you can afford
to make candidates go through lengthy obstacle courses. But you’re not Google,
you’re KOMODO. At least not yet?&lt;/p&gt;

&lt;h2 id=&quot;coda&quot;&gt;Coda&lt;/h2&gt;

&lt;p&gt;My first day was June 13th, 2024. I sent my resignation letter on July 19th.
Since the agreement mentioned a 1-month notice, I said my last day would be
August 19th. But then (see above) the CEO started sending some indirect signals
(I never actually had a one-on-one meeting with him) that he was hesitating to
keep me on the NIUHI project. In addition, I had a one-week vacation planned
between July 29th and August 2nd (that had been planned and agreed upon during
my interviews, family obligations). So I started feeling a little guilty about
taking a one-week vacation over a total of ~2 months tenure.&lt;/p&gt;

&lt;p&gt;Trying to play nice, on July 22nd (Monday),
I offered them 3 options and made it clear that I had no intention of being
paid for a month doing nothing:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Use Manu’s efforts on NIUHI for that last month&lt;/li&gt;
  &lt;li&gt;Use Manu’s efforts on other projects for that last month&lt;/li&gt;
  &lt;li&gt;Advance Manu’s last day to July 26th (coming Friday, before the planned vacation)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The CEO replied by advancing my last day to July 23rd (the next day). Legal,
given the contract and then my proposal? I have no idea. But at the end of the
day, while my early resignation was certainly inconvenient for the company, it
was well within the letter and the spirit of the contract’s idea of a probation
period (which goes both ways), and I think it the company’s last move was not
super cool. Oh well. Regardless, I am hoping I can soon see an awesome NIUHI
launch as a user myself, and I send love and good vibes to everyone at the
Japanese and American offices, especially to 小沼さん who hired me and was a pleasure to work
with. ❤️&lt;/p&gt;
</description>
        <pubDate>Tue, 06 Aug 2024 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/komodo</link>
        <guid isPermaLink="true">http://ma.nu/blog/komodo</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>26 Golden Rules of Ensemble Playing</title>
        <description>&lt;p&gt;By &lt;a href=&quot;https://en.wikipedia.org/wiki/Walter_Bergmann_(musician)&quot;&gt;Walter Bergmann&lt;/a&gt; (1902-1988)&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Never worry whether you play the same piece as the others; they will soon find out.&lt;/li&gt;
  &lt;li&gt;Stop at every repeat sign and enter into a palaver about whether you should, should not, would, would not, could, could not, want, or want not, to repeat.&lt;/li&gt;
  &lt;li&gt;Which is the most important part in an ensemble? The other one.&lt;/li&gt;
  &lt;li&gt;Always aim for the highest number of n.p.s. (notes per second).&lt;/li&gt;
  &lt;li&gt;If you play a wrong note, give your partner a dirty look.&lt;/li&gt;
  &lt;li&gt;Always keep your fingering chart handy. If, in the middle of the piece, you don’t know the fingering of a note, look it up, try the note, and then catch up with the others.&lt;/li&gt;
  &lt;li&gt;If a passage is difficult, slow down; if it’s easy, speed up. In the long run it all evens out.&lt;/li&gt;
  &lt;li&gt;A right note, at the wrong time, is a wrong note (and vice versa).&lt;/li&gt;
  &lt;li&gt;Do take your time turning a page — it gives everyone a nice rest.&lt;/li&gt;
  &lt;li&gt;Rests are difficult, especially on the recorder. If you are not sure of their lengths, ignore them.&lt;/li&gt;
  &lt;li&gt;If you alone are right and everyone else is wrong, follow the wrong.&lt;/li&gt;
  &lt;li&gt;If you have irretrievably lost your place in the music, stop everyone and say, ‘I think you need to retune.’&lt;/li&gt;
  &lt;li&gt;Blessed are the poor in intonation, for theirs is the kingdom of music.&lt;/li&gt;
  &lt;li&gt;Memorize the following line, which you can have ready for a variety of situations: ‘I alway play in tune, because I play a Moeck (Coolsma, Aulos, Dolmetsch, Koch, Kung, von Huene, etc.) recorder.’&lt;/li&gt;
  &lt;li&gt;Tune carefully before playing, and then you can with a clear conscience play out of tune for the entire evening.&lt;/li&gt;
  &lt;li&gt;Your conductor has been paid. There is no need to look at him.&lt;/li&gt;
  &lt;li&gt;But be sure to &lt;em&gt;follow&lt;/em&gt; the conductor (don’t be together with him).&lt;/li&gt;
  &lt;li&gt;Spare the breath and spoil the tune!&lt;/li&gt;
  &lt;li&gt;Remember, vibrato &lt;em&gt;always&lt;/em&gt; starts on the upper frequency.&lt;/li&gt;
  &lt;li&gt;An ornament should be an embellishment and not an embarrassment.&lt;/li&gt;
  &lt;li&gt;Remember Shakespeare’s immortal lines:
    &lt;ul&gt;
      &lt;li&gt;“A rest is silence” (&lt;em&gt;Hamlet&lt;/em&gt;)&lt;/li&gt;
      &lt;li&gt;“My kingdom for a semiquaver.” (&lt;em&gt;Richard III&lt;/em&gt;)&lt;/li&gt;
      &lt;li&gt;“My foot my tutor?” (&lt;em&gt;The Tempest&lt;/em&gt;)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Pick out of old books (Quantz, etc.) what you like, and bypass what does not suit your preconceived ideas.&lt;/li&gt;
  &lt;li&gt;Authentic interpretation is not achieved until not a note of the original is left.&lt;/li&gt;
  &lt;li&gt;Do be careful to select the right edition. The best editor is he who writes &lt;em&gt;forte&lt;/em&gt; at the beginning of a fast movement, and &lt;em&gt;piano&lt;/em&gt; at the beginning of a slow one. He puts breath marks over rests and omits them where they could be helpful. He also write prefaces that make the performance of a piece completely unnecessary and sometimes even undesirable.&lt;/li&gt;
  &lt;li&gt;Remember, &lt;em&gt;forte&lt;/em&gt; and &lt;em&gt;piano&lt;/em&gt; marks, dots, and crescendos and decrescendos are not there to be observed. They are decorations for the eye, invented by frustrated engravers, and they have no special musical meaning. As communications from the composer they are equally unimportant, because composers are mostly dead and don’t understand their own compositions, anyhow. There are, however, three exceptions to this rule:
    &lt;ul&gt;
      &lt;li&gt;A dot over a note prolongs its duration by one half-step.&lt;/li&gt;
      &lt;li&gt;Crescendo and decrescendo hairpins are essential over rests.&lt;/li&gt;
      &lt;li&gt;In examples like the following, adhere carefully to directions: [six measures of tied whole notes, marked ‘Nicht schleppen (do not drag)’]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Thou shalt not play the little bit left over at the end… [Here there should be the little musical example. The little bit left over is the 2nd entrance of a repeat.]&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Sun, 30 Jun 2024 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/rules-of-ensemble-playing</link>
        <guid isPermaLink="true">http://ma.nu/blog/rules-of-ensemble-playing</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Overwashing</title>
        <description>&lt;p&gt;I think our modern society has veered into overwashing.&lt;/p&gt;

&lt;p&gt;Obviously, basic hygiene is extremely important for preventing diseases.
Several efforts for teaching hospital doctors in emerging countries, for
example, have significantly
decreased the morbidity and mortality rate, especially for surgical procedures.&lt;/p&gt;

&lt;p&gt;But how do we know how much is too much? We have specific products for washing
our hands, body, face, hair, “intimate areas”. It’s basically just all soap and
maybe a little fragrance (that, or it’s specifically marketed as fragrance-free,
for double the price). I’m surprised Big Marketing hasn’t come up with different
products for your right hand and left hand.&lt;/p&gt;

&lt;p&gt;The effect on the environment, if you multiply by the number of people and the
number of events per day, is huge.&lt;/p&gt;

&lt;p&gt;Several years ago, more driven by laziness than by scientific experimentation,
I had already tried to wash my hair less often. I lack actual data to back this
up (more serious and much cleverer people have done this better, for
instance this book Clean I read a little later, written by a doctor),
though in my experience, when you
wash your hair, it feels extremely smooth and silky and shiny, but only for a
couple of days, and then it feels kind of oily. That prompts us to wash it
again. But if you wait a bit longer and let your scalp some breathing room to
regulate itself, then it feels fine again. Of course the hair won’t get back to
its overly smooth and shiny state by itself, but it will feel normal, clean, and
not oily at all.&lt;/p&gt;

&lt;p&gt;The same applies to the rest of the body. For several years now, I’ve only been
taking a full bath or shower every few weeks, if that. And when I do, I usually
just use water. On the other hand, I wash certain particular areas multiple
times a day. Hands, face, feet, “private
parts” (it helps that I have access to a Japanese-style washlet in most places
I go), armpits. I’ve actually been epilating (not shaving,
epilating — yes it’s painful the first time) my armpits for more than a decade
now, and even when I sweat a lot there, the smell is very very mild (I won’t
claim it’s nonexistent, but it certainly does not linger at all). As one person
says in the “Clean” book I mentioned above, all these places are important, but do I
really need, every day, to clean here [pointing at middle of forearm].&lt;/p&gt;

&lt;p&gt;The social pressure for overwashing is so strong that initially I thought it
was shameful not to take a “full shower” every day. I also wondered whether my
sense of smell was blunted or accustomed so I wouldn’t smell myself. Nope.
Well, it was
blunted for a while because of Covid but that was very noticeable and it’s
another story. I asked people around me (close people, not strangers ;-P ) to
tell me if I smelled bad. They all said either that I didn’t didn’t smell at
all, or that I just smelled like… a person, a healthy human. A very mild
smell; not completely odor-free (that would probably not be normal?), not an
overpowering
chemical peach fragrance. You know that impression when you like someone, and
you’re happy to detect their smell on a scarf they left behind and it reminds
you of them? That type of smell.&lt;/p&gt;

&lt;p&gt;Again, no data to back this up except my anecdotal experience, but it seems like
by overwashing, we are taking away all the secretions that our body
needs to maintain itself, in particular at the skin level, and we are pulling
all the chemical reactions towards that side so that it will actually produce
more. Leave the system alone for a while, and it will regulate itself just fine.&lt;/p&gt;

&lt;p&gt;If anything, it feels like I’m &lt;em&gt;dirtier&lt;/em&gt; a few hours or a day after taking a
full shower, than several weeks later.&lt;/p&gt;

&lt;p&gt;Our species has a long evolutionary history leading to it after all, you might
think your body is able to sustain itself in an acceptable state without a
gazillion artificial products. But of course that doesn’t increase GDP.&lt;/p&gt;
</description>
        <pubDate>Sat, 22 Apr 2023 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/overwashing</link>
        <guid isPermaLink="true">http://ma.nu/blog/overwashing</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>This is why I hate flying (but apparently I can bluff)</title>
        <description>&lt;p&gt;It’s weird to declare that I hate flying, for someone who does it as
much as I do. Here’s my travel log for a pre-pandemic year (2018):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/2018_flying.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;(the “San José” in there is the one in Costa Rica, not California).&lt;/p&gt;

&lt;p&gt;At least more recently I try a lot harder to ride trains more. But it’s often
not an option. Besides feeling increasingly terrible about all the burned
kerosene (I buy carbon
credits, but that only goes so far in appeasing my conscience), the following is one
more reason why I hate flying.&lt;/p&gt;

&lt;p&gt;I’m writing this down mostly to have something to point people to when they ask
me what happened. If you’re not one of those (and honestly even if you are), you
will probably find this very boring.&lt;/p&gt;

&lt;p&gt;TL;DR bumpy road from Tokyo to Shanghai.&lt;/p&gt;

&lt;p&gt;My flight from Tokyo to Shanghai was leaving on April 20th, late afternoon. I
had a layover in Hong Kong because flights to China are still very pricey and
this is the best compromise I could find. The same day, I go to the airline’s
website (Hong Kong airlines) to check in. First weird thing: they force me to
pick a seat on both flights, and all seats are extra $. Even the random
ones stuck in the middle. No seat
selection? Then check in in person at the counter. I’m usually happy to pay for a window seat on a
long flight, but for today I don’t really care and I’m cheap. Oh well, fine,
I’ll pay a bit extra for things to go
smoother at the airport, I don’t want to wait in a long line at the check-in
counter. All good, email with links to electronic boarding passes. I save the
PDFs on my phone for offline access.&lt;/p&gt;

&lt;p&gt;Now that I think of it, the bumpy experience started a couple of weeks earlier,
when I got my visa. I initially wanted to get it from San Francisco, so I
started filling in the online form. Guess what, China has made it a lot more
difficult than before. You have to list all the schools you went to,
with years, corresponding diploma, etc.. Then you have to list all the companies you
have ever worked for. For each company, the dates, address, phone number, name
of supervisor, phone number of supervisor… You get the idea. Come on, China.
I had actually started doing this a few months ago and had given up in
frustration. But this time, I have to finish it. Phew, all done, now to get an
appointment at the consulate in San Francisco. Too bad, the earliest available
appointment is in 2.5 weeks, after I’m scheduled to leave for Tokyo. Thankfully,
I’m spending a few weeks in Tokyo before heading to China, so I’ll request my
visa there. Guess what, you need to start the form from scratch, because
it’s not the same location. In retrospect I admire myseslf for not
“rage-quitting” then and there.&lt;/p&gt;

&lt;p&gt;I got a Chinese visa from the consulate in Tokyo before, and it was actually
quite a pleasant experience. Central location, clean and modern, not crowded,
nice people, so I’m pleased to go back. Err, nope. The location has changed
(45 minutes trip each
way from Tokyo center), and it is now extremely crowded. Probably many Chinese
citizens (current or former) living in Tokyo and happy to finally be able to
go back to China (tourists can visit the country again since mid-March 2023).
There’s a long line just
outside of the elevator even before getting into the embassy. Yes, even if
you have an appointment.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/embassy_outside.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And then more waiting inside. To be fair, it’s likely worse in the San Francisco
consulate.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/embassy_inside.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;(I’m glad I didn’t get caught taking this photo; a
Chinese officer caught another guy, and made sure that he deleted the
images). We are entering the land of freedom, y’all.&lt;/p&gt;

&lt;p&gt;I spent about 3.5 hours in there. I’m happy that the only document I lacked was a
photocopy of something I had with me. And I’m glad I always carry paper ID photos
with me (been bitten before); since the online form asks you to upload an image and rejects anything
without a light background and well centered, you would be forgiven for thinking
you didn’t need to also bring paper photos. Phew, I dodged that one.&lt;/p&gt;

&lt;p&gt;A week later, I go to pick up my passport (1.5 hour round trip again). I think
“hey this will be quick, pay up and get the hell out”. Oh how naive I was.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/embassy_pickup.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;3 more hours. They only agreed to give me a single entry visa, and I’m only
staying one week: stretch it a bit more and I’ll soon be spending more time at
the embassy than in China.&lt;/p&gt;

&lt;p&gt;Back to flight day. I start by taking the Namboku line from Azabujuban near my place in Tokyo,
and get off at Tameikesanno. I don’t have a precise itinerary yet: the quickest
way to the Narita airport can vary a lot depending on the departue time and
location. But I’m almost certain that Tameikesanno on the Ginza line
will be on the roadmap, so I head there first. At Tameikesanno, I ask Google
Maps for an itinerary. I usually pick the route it suggests (earliest arrival)
and I just mumble a bit if it happens to be a more expensive route (price can
vary a lot depending on the line and speed). Good surprise, the route with earliest
arrival is actually on the cheap side. Nice, this is going smoothly again, I
think to myself.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/tameikesanno.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;🎵 The road goes ever on and on 🎶 (I always sing that to myself when I’m on
the move again). At least I travel light.&lt;/p&gt;

&lt;p&gt;I am planning to arrive at the airport early, because I’m hoping to get a
couple of hours of work in after going through security and wrap up some things
before going to China.&lt;/p&gt;

&lt;p&gt;Arrived at the airport, I walk past the check in counter and head to the
gates. I load the PDF of my first boarding pass and scan the barcode on the
automated turnstile. BEEP, womp womp, red light, ticket gets printed reading “please
see personnel”. Guy comes over, makes me try again. BEEP, red light. Another
ticket. He looks at my boarding pass. Seems fine. He has me scan the 2D QR code
instead of the 1D barcode. BEEP, red light, bjjjt third printed ticket. Am I
arrested yet? I guess I’ll have to go to the counter after all.&lt;/p&gt;

&lt;p&gt;The check-in counters are understaffed so it’s a long wait. When I finally get
there, the attendant is a friendly Indian guy who talks to me in English.
I’m the only non-Asian guy in sight, and my passport is French, so it seems like
he needs to read through the documentation on his screen (following with his
finger) to see what’s required for my situation.&lt;/p&gt;

&lt;p&gt;Sir, do you have a return flight? Yes, it’s a different airline, I show him the
reservation. Sir, do you have a vaccination certificate? Why yes, triple
vaccination card, here you go. Sir, do you have a QR code? Erm, nope what’s
that? Apprently I also need to register on a Chinese website. He scribbles the
URL on the back of a discarded boarding pass. And asks me to do this on the
empty counter next to his. I guess I should have known about that part? But
the airline certainly didn’t tell me anything when I booked the flight nor checked in
online.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/htdell.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;“HTDELL”? Huh, okay. I assume that’s “GOV.CN”.&lt;/p&gt;

&lt;p&gt;He comes back to me: “oh and it will ask you for a receipt number, you should
give it forty-five zee” — “Forty-five, Z (I make a Zorro sign)?” — Yes, let
me write it for you.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/45zee.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Okay I almost wish I hadn’t asked. I insist, “is this is a Z? Like Zorro?”
— “No no, zee like this, sorry this is a poorly written letter”:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/45gee.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ah, okay G. I wonder if he’s aware that the receiving end can get confused by his
pronounciation even more than by his handwriting. And then I realize he didn’t say
“receipt number” but “seat number”, yes that’s my seat number. It seemed awfully
short for a “receipt number” anyway. Silly me.&lt;/p&gt;

&lt;p&gt;I input the URL carefully on my phone. Erm, 404. I want to ask him to
clarify but he’s already busy with another passenger. All right, Google search.
Ah, it’s “HTDECL” of course (?). His C and L look exactly the same.
Try again. No 404, cool. Blank screen. 30 seconds, blank screen. 1 minute, blank screen.&lt;/p&gt;

&lt;p&gt;I look at the attendant, he’s busy with another passenger. He speaks a perfect
Japanese. Is it my network connection? I’m on the airport Wifi. I load &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;youtube.com&lt;/code&gt;
in a separate tab. Blazing fast. But the Chinese site is still loading. I leave
it to load, and I copy-paste the URL into a fresh tab just in case. Same. No
error, just loading for minutes.&lt;/p&gt;

&lt;p&gt;The attendant is done with his passenger, I show him the blank screen: “very,
very slow”. He says there is no other way, please try again sir. I keep
trying. Now he has to close his counter, but he tells me any other counter is fine.
Okay. Now the web page loads, but the buttons don’t respond yet.
I hear an announcement saying that the HK airlines check-in counter will
be closing, all passengers please check in. Great. Finally, the second page loads. Thankfully it’s a single page
form. I fill it as quickly as possible. It asks me if I have tested positive
for Covid. Nope. Submit. Here comes the precious QR code. Quick, screenshot.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/china_qr.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I head to the only counter still open. A Japanese woman who doesn’t seem to
speak much English. I try to explain that I was with her colleague but he needed
me to get this QR code. For China. She glances at my screen: “ah, ok”. —  “Could I
get a boarding pass?” — “Oh you don’t have your boarding pass?” — “I have one
on my phone but the gate didn’t let me through”. She takes my passport and
starts checking me in again. Sir, do you have a vaccination card? Yes. Return
flight? Here. Sir, do you have a QR code for the PCR test?&lt;/p&gt;

&lt;p&gt;Wait, what?&lt;/p&gt;

&lt;p&gt;It turns out you still need a Covid test to enter mainland China. Okay, &lt;em&gt;that&lt;/em&gt; I
should definetely have researched beforehand. But I would have hoped the airline could
have given me a reminder? Even Japan doesn’t require it any longer if you’re
vaccinated.&lt;/p&gt;

&lt;p&gt;Now they are chatting in Japanese. At this point I think that I will likely need
to go back home, get a Covid test as soon as possible, and book another flight
tomorrow or the next day. But again, I’m only staying one week in China. And I
spent half a day total at the embassy. I
could even just cancel the whole thing. Honestly, if this was a normal situation
I would have just given up. For a work meeting, even an important one, I would
have given up (sorry, work). I may not even have gone through the visa hoops.
But this is way more important. On the other side of the China sea, there is a
little girl who’s exicted to see her dad.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/sophie_chat.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;(Messages from her mom) “Sophie’s been very excited since yesterday. When I
asked her why, she said daddy is coming soon.”&lt;/p&gt;

&lt;p&gt;Last time I saw her was 3 months ago in Macau. Before that,
I couldn’t see her in person for 3 years (pandemic). After breaking up with my
ex wife and leaving,
I went through five episodes of major depression over 7 years because of the
guilt (each time: can’t work for ~8 weeks, do nothing but sleep, lose 10
kilograms). Sooooo, right now I ain’t gonna let my daughter down, not for any
amount of bureaucracy.&lt;/p&gt;

&lt;p&gt;The flight attendants tell me that I could fly to Hong Kong, then try to get
a Covid test there before flying to Shanghai. But it’s a short layover so it’s
tight and may not work out. Okay? They apologize. I say no problem, that part is
my fault after all. And I accept the risk: if I need to book another flight to
Shanghai on short notice, it will probably be easier from Hong Kong than Tokyo.
They give me
my boarding pass for Hong Kong, and tear down the one for Shanghai that they had
printed. In these moments I am extra glad I never check in any luggage.
I head to the gates. Beep, green light. I start queing up for security.&lt;/p&gt;

&lt;p&gt;After five minutes, the same flight attendant is going through the line asking
for HK airlines passengers. I think “cool, it’s getting late, they’re going to
let me bypass the line”. Nope. The flight attendant leads me back to the
automated gate, and shows her ID to the guard so he’ll let us out again. She
asks me to follow her, half running and glancing back every few seconds to make
sure I’m still there, back to the check-in counter. There, she
starts filling in my name on a paper form. Am I in trouble? Is it because I said on
the Chinese form that I didn’t test positive but I actually didn’t have a recent test, so
they consider this a lie? When filling that form I didn’t even know I needed a test.
But then again, this is China.
Anyway, it’s unlikely that the Japanese personel has access to the form data. The
flight attendant doesn’t tell me what
this is about. I feel lost in a Kafka story already. I take out my phone to take
some snaps.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/form_first.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;When she needs to write “France”, I see her writing the Japanese version of the
word in the palm of her left hand first. I find that adorable.&lt;/p&gt;

&lt;p&gt;As she seems to be struggling with writing English in there, she asks for help
from her colleague. At that point I lean in a bit to try and read the form
upside down.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/form_second.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ah, “Release of indemnity”. They want to make sure I won’t complain if I can’t
make it for the second flight and lose it. Fair enough. They probably didn’t think it was
necessary at first because not having a PCR test was my fault, but they wanted
to be extra safe, so they came to grab me again. I sign. For some reason, they
print the same boarding pass again.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/double_pass.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The flight attendant who now has “fu-la-n-su” katakanas written in her left palm escorts
me again, half-running, through the automated gate, and leads me to the VIP security.
Ah, so I do get to skip a line after all, w00t. Security
is always a challenge for me. I travel a lot so I just have a small backpack,
but it’s full of electronics. I always need to take out everything, but I always
forget something inside and my bag needs a manual check. This time, no manual
check. But the flight attendant is watching me as I re-pack everything and she’s
obviously in a hurry so I rush it and obviously can’t fit everything in again.
So I give up, zip it back up, and I carry a bunch of things in my hands, trying my best not to
drop anything, especially not my passport or boarding pass (though I guess it’s
okay if I drop &lt;em&gt;one&lt;/em&gt; of those). The flight attendant is very kind and apologetic,
and as we walk briskly to the gate she keeps checking that I didn’t lose anything
(passport? Yes yes. Boarding pass? Still there. Vaccination card? All good, thank you!).
I also apologize profusely for the trouble.&lt;/p&gt;

&lt;p&gt;Arrived at the gate, she points me to the “zone B” boarding line and leaves me
there. Why did she need to escort me the whole way? I am confused. It might be
Japanese politeness. Fifteen years ago when I asked for directions from an
elderly man in Tokyo (I didn’t have internet access for maps and Japanese
addresses can be confusing), he walked me all the way to my destination.&lt;/p&gt;

&lt;p&gt;I was already nearly reaching the boarding gate, so I quickly sent a message
to my colleague saying to please feel free to take over what I had planned on
finishing up at the airport, because who knows what I can and cannot access from
China. My message read so much like a hurried telegram
that I may have needlessly worried her, but I knew I would lose the wifi
connection after going through the gate and my mobile internet plan doesn’t work
in Japan.&lt;/p&gt;

&lt;p&gt;Sooooo I’m on my flight to Hong Kong as I write this. As soon as I land, gimme
gimme PCR! [To be continued. Still hate flying though.]&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/manu_on_plane.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After landing in Hong Kong, I go to the transfer counter, explaining my
situation and asking where I can get a Covid test. The timing is tight but I
want to try. She says they don’t actually check those tests anymore. Huh? So
did she think I could just go and board my second flight? Oh, actually, I
realize this is the counter for Cathay Pacific. I apologize, my flight is with
HK airlines. Ah, in that case she doesn’t know. Covid testing at A3, arrival
level, open until 1 AM. No HK counter in sight.&lt;/p&gt;

&lt;p&gt;I head towards the arrivals. Waiting for the inter-terminal train, I glance at
my watch. 8 PM. The flight is at 9:20, boarding at 8:30. There’s no way I’m
going to make it, even assuming that I find the center immediately, that
everything goes smoothly, and I get results within an hour or even half that.&lt;/p&gt;

&lt;p&gt;At that point I decide to try something I never do: bluff. I’ll just try. Worst
case I can’t board, and then I’ll still have time to do the test later the same
day and get another flight the next day. Or is that really the worst case
scenario? I mean, this is China. Fingers crossed that if it doesn’t work out
I won’t get detained. Did someone say “risk-seeking behavior”?&lt;/p&gt;

&lt;p&gt;I exit the platform and head back where I came from. But wait you might say,
you don’t even have a boarding pass, they tore it down in Tokyo. Ah but I do,
I still have my electronic one I got after checking in online. It’s probably
not valid, but it’s something. It’s the pair of cards I’m going to bluff with,
acting as if it were a royal flush.&lt;/p&gt;

&lt;p&gt;To transfer from one gate to another, I have to go through another automated
checkpoint. Scan. Obviously, no go. Please wait for assistance. The woman in
charge comes over, checks my boarding pass. Passport looks fine. Is it the
wrong boarding pass? There’s two in there. No no it’s right. Well if it looks
right, it must be right. Go ahead sir. The first step worked! I’m foolishly
starting to believe this just might work. That kind lady just metaphorically
handed me a third card, adding credence to my bluff — I must be fine, right,
otherwise how did I even get there?&lt;/p&gt;

&lt;p&gt;I get to the gate, and wait for a few minutes in one of the seats with a
power outlet, giving some juice to my laptop. At boarding time, I queue up
like everyone else. Arriving at the gate, I show my boarding pass (now a
triplet, still not quite a royal flush). Scan. Doesn’t compute. The attendant
asks me to wait and starts looking stuff up while his colleagues continue to
let people into the plane.&lt;/p&gt;

&lt;p&gt;After a few minutes, I’m the only one left, with the four crew members. Everyone
else is on the plane. And that’s where the crew needs to go too. I know that,
and I’m evil enough to expect the time pressure to play in my favor. They are
speaking in Cantonese, so I don’t get any of it. They make several calls, keep
checking their system and my passport, spelling my details over the phone. One
of them asks me if I have any checked in luggage. Nope. Another asks the same
a few minutes later. Should I have had some luggage? Would that have given them
a reason to let me in if my luggage had already been on the plane? The crew in
Tokyo would probably not have agreed to check my luggage to Shanghai anyway.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/fantastic_four.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A little more time passes, more calls get made, more typing into the system,
and also some loud old-style dot matrix printing. It’s getting close to
departure time. I’m thinking the more they investigate my case the least likely
it is that they’ll let me though. But then again, I would have bet my money
(‘tis a day of gambling, it seems!) on either “instant no” or “instant yes”.
And they’re still here and I don’t think the plane can take off without at
least some of them, so that’s something.&lt;/p&gt;

&lt;p&gt;After some more time and some more calls, one of the four asks me to come over
towards the gate and, to my amazement, hands me a paper boarding pass and
points to my seat number. I hurry to the plane before they change their mind.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/victory.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Maybe the 4-man crew was running out of time to contact the right people and
they gave me the benefit of the doubt because they had to go operate their
flight. In that case, I guess my bluff worked. Or, someone, somewhere, decided
to give me a pass. If so, I’m sending them good vibes wherever they are.
Thank you, you allowed a little girl to spend one more day with her daddy.
I might be some brat who thinks he has the right to do anything and believes
the rules don’t apply to him. I was some of that today. I promise that most
other days I try to be on the giving side of that “being kind to someone else”
relationship. I promise I have zero symptoms, I’ve been wearing a mask all the
time in Tokyo, and I promise I’m not a bad person. I’m just a little
absentminded.&lt;/p&gt;

&lt;p&gt;(Also, at the Shanghai airport, doing the QR code thing on arrival would have
been totally fine. One argument in favor of some pre-boarding hard requirements
being a little arbitrary.)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-20_hate_flying/qr_code_on_arrival.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;On the plane, when the flight attendant was going through the security
instructions and it came to the proper behaviour to adopt if the crew ever
says “brace! brace! brace!”, she instead pronounced “blaze! blaze! blaze!”.
I’m glad I’m not superstitious.&lt;/p&gt;
</description>
        <pubDate>Thu, 20 Apr 2023 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/i-hate-flying</link>
        <guid isPermaLink="true">http://ma.nu/blog/i-hate-flying</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Bait-and-bore TV shows</title>
        <description>&lt;p&gt;Some American TV shows start with an interesting angle. For example, “Sex and
the City”: New York City and sex. “Shrinking”: therapists.&lt;/p&gt;

&lt;p&gt;I find it disappointing that they very soon abandon the uniqueness of their
approach and revert to a more classic sitcom plot that’s just about the
characters.&lt;/p&gt;

&lt;p&gt;“Sex and City” broaches some interesting sexual topics in its first season, as
well as specific New York City themes. But then there is none of that left and
it becomes a boring soap opera about four characters and their personal issues.&lt;/p&gt;

&lt;p&gt;“Shrinking” starts with an interesting character who breaks the rules of his
job as a therapist by actually telling his patients what he thinks and giving
them concrete advice. But that only lasts a couple of episodes, and then once
again it’s back to a boring soap opera.&lt;/p&gt;

&lt;p&gt;Was there nothing left to say about the more unique theme? Is it just more
effort, and once the viewers are attached to the characters, might as well just
revert back to toying with them in a rehash of all soap operas that have ever
been created?&lt;/p&gt;
</description>
        <pubDate>Fri, 14 Apr 2023 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/bait-and-bore-tv-shows</link>
        <guid isPermaLink="true">http://ma.nu/blog/bait-and-bore-tv-shows</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Building a queen-sized foldable bed</title>
        <description>&lt;p&gt;This is still 🚧 !&lt;/p&gt;

&lt;p&gt;When I got myself (lucky me!) a teeny tiny apartment in Tokyo, I had the
Western reflex of buying a queen-sized bed.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/initial.jpg&quot; alt=&quot;Initial state&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Actually, since I took that photo I expanded a little bit on the
headboard/shelf:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/headboard.jpg&quot; alt=&quot;Nerdy figurines&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A Japanese person may have, instead, got themselves a rollable futon. I
realized that a
little too late, and now I’d like to find a solution to 1) regain some of that
precious space during the day and 2) reuse the bed frame I already
have. So: foldable bed, a.k.a. “Murphy” bed.&lt;/p&gt;

&lt;p&gt;First step: get rid of the drawers embedded in this Ikea bed (I didn’t really
use them much anyway). Second step, remove the mattress and place the frame
upright to see what will fit where. Oh, and let my little robot get rid of the
accumulated dust down there.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/upright.jpg&quot; alt=&quot;Upright frame&quot; /&gt;&lt;/p&gt;

&lt;p&gt;There are some ready-made “Murphy hardware kits” on the market, but… meh.
I kind of like to do stuff myself, and the dimensions and use case I’m dealing
with is somehow always not that suitable for what I can find. Thankfully, I
have &lt;a href=&quot;woodchuck&quot;&gt;some experience&lt;/a&gt; with a much more ambitious project a few years
ago.&lt;/p&gt;

&lt;p&gt;One issue with putting the bed upright is that the slats won’t stay in place
and will rattle a bit. So let’s fix those:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/fixed_slat.jpg&quot; alt=&quot;Fixed slat&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Next, there is this extra layer at the bottom of the frame which elevates it a
little more, and I think it will make my life harder.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/elevation_frame.jpg&quot; alt=&quot;Elevation frame&quot; /&gt;&lt;/p&gt;

&lt;p&gt;So, off it goes. Okay it may also add some robustness and some structure. How
much of that will matter? Well, we shall see 😁 I can always re-add some pieces
here and there later (most likely some metal brackets), in a way that doesn’t
make the frame taller nor complicate its shape.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/elevation_frame_removed.jpg&quot; alt=&quot;Elevation frame removed&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Can you see the piece I removed?&lt;/p&gt;

&lt;p&gt;The frame will still lay happily on the floor, except for
a small stabilizer in the center, which I need to trim down to match the new
height:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/center_stabilizer.jpg&quot; alt=&quot;Center stabilizer&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We have this so far (some slats still needs attaching properly! that will be
done soon).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/general_view.jpg&quot; alt=&quot;Center stabilizer&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Now, one issue is that when moving the frame from a horizontal to a vertical
position and back, the way it moves against the floor will likely cause some
damage in the long run. So let’s add some hinges and attach those to a
separate piece of wood (actually two pieces that I connected with two pegs).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/hinges.jpg&quot; alt=&quot;Hinges&quot; /&gt;&lt;/p&gt;

&lt;p&gt;“Huh”, you might say, “but this new piece isn’t attached to anything!” to which
I will reply: indeed! And I have no idea to what yet. I didn’t think that far.
To make this smooth I will also need to elevate slightly the back of the frame.
I will add that later, it’s okay for now;
thankfully there’s plenty of wood I can repurpose from the drawers I disassembled.&lt;/p&gt;

&lt;p&gt;Another issue is that when I place the frame upright, the mattress tends to
slide down. I will likely need to replace it with a lighter and thinner
mattress, but for the time being let’s address the problem this way:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/mattress_attachments.jpg&quot; alt=&quot;Mattress attachments&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This makes use of two of the four handles on the mattress. That works fine for
now, but I’ll need to do the same for the other two (I just need to get two
more of those metal thingies first), and potentially add some sewing to reinforce
the mattress handles (this thing is heavy!).&lt;/p&gt;

&lt;p&gt;Next: I need some handles for moving the bed. Especially when lowering it to its
horizontal
position, my hands will get trapped underneath and ouchie. The metal handles I
found in the hardware store didn’t seem quite heavy duty enough (probably made
for cabinet doors), so I’m making those myself too.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/handles.jpg&quot; alt=&quot;Handles&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And once attached (I should probably stain them):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/handles_attached.jpg&quot; alt=&quot;Handles&quot; /&gt;&lt;/p&gt;

&lt;p&gt;To compensate for the removal of that extra frame, and just because I like
things that are robust and not squeaky, I reinforced the whole thing with small
metal brackets here and there:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/reinforce.jpg&quot; alt=&quot;Reinforcing&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Now of course when the bed is upright, I need a place to store the pillows
and comforter. Thankfully, there is now plenty of empty space inside the frame,
and plenty of wood from the dismantled drawers that I can reuse for a makeshift
case, like so:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/bedding_storage.jpg&quot; alt=&quot;Bedding storage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;(Yes, I have small posters of NES game sprites on the side of that shelf.
Judge me.)&lt;/p&gt;

&lt;p&gt;Next, because the rotation point of the hinges is a little above the floor
level, it will be smoother if the frame is elevated a little bit. I quickly
considered re-adding the lower frame that I removed initially, but that really
adds too much weight and I think I’ve already addressed the robustness part, so
I added six little feet instead. The wooden part is screwed to the frame (I
used wood glue initially but that wasn’t strong enough), and I added a thin
rubber layer, which is glued on with cyanoacrylate.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;img/2023-04-06_foldable_bed/foot.jpg&quot; alt=&quot;One of the six feet&quot; /&gt;&lt;/p&gt;

&lt;p&gt;To be continued!&lt;/p&gt;
</description>
        <pubDate>Thu, 06 Apr 2023 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/woodchuck-returns</link>
        <guid isPermaLink="true">http://ma.nu/blog/woodchuck-returns</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Bye Twitter 💙</title>
        <description>&lt;style&gt;
  h2, h3 {font-weight: 400;}

  h3 {margin-left: 2ex;}

  p, ul {margin-left: 4ex;}

  li p {margin-left: 0;}

  #corps p img, #corps li img {margin-top: 2ex; margin-bottom: 2ex; display: block;}

&lt;/style&gt;

&lt;h2 id=&quot;disclaimer&quot;&gt;Disclaimer&lt;/h2&gt;

&lt;p&gt;I hereafter relate the facts from my point of view, but the interpretation is
speculation and educated guesses.&lt;/p&gt;

&lt;h2 id=&quot;short-version&quot;&gt;Short version&lt;/h2&gt;

&lt;p&gt;Since I was one of the early layoffs after the Oct 2022 acquisition of Twitter,
some people have been curious about the reasons. My current understanding is that I was too much of a potential troublemaker for the new management.&lt;/p&gt;

&lt;h2 id=&quot;main-story&quot;&gt;Main story&lt;/h2&gt;

&lt;h3 id=&quot;most-likely-direct-reason&quot;&gt;Most likely direct reason&lt;/h3&gt;

&lt;p&gt;After the layoff rumors, many Twitter employees wanted
to save some important documents before potentially losing access.
For example: statements from their stock broker (company goes
private –&amp;gt; no more stock, which can be a big part of compensation),
things from WorkDay (outsourced HR management), etc. This may also include
emails important to one’s future career if considered from a self-protection standpoint (good
performance reviews, proof of key achievements, etc.). Think about it: if you
thought you may lose access to all your work email tomorrow,
is there &lt;em&gt;anything&lt;/em&gt; in there that you may need?&lt;/p&gt;

&lt;p&gt;Earlier, I had made for myself a tiny browser extension. All it did was to
automatically do this on a single conversation:
&lt;img src=&quot;img/2022-11-01_bye_twitter/gmail_download.gif&quot; alt=&quot;&quot; /&gt;
That’s it. (This is only relevant if your company uses “Google Workspace”,
which includes Gmail, and if your administrator has disabled IMAP access.)&lt;/p&gt;

&lt;p&gt;Was this a violation of a corporate policy? Not unless it could be proven that
the downloaded message file was moved away from the corporate computer. I had
been learning from my years at Google (working on Gmail, heh)
where an “email retention policy” was implemented to auto-delete emails older
than 18 months.&lt;/p&gt;

&lt;p&gt;On 1ˢᵗ Nov 2022 I decided to help out other concerned employees by
publishing this extension on the Chrome Web store
(&lt;a href=&quot;https://chrome.google.com/webstore/detail/gmail-message-downloader/dpginnmbipdjncnfgbnnbemhjfpmnolm&quot;&gt;here it is&lt;/a&gt; — and
&lt;a href=&quot;img/2022-11-01_bye_twitter/gmail_downloader_extension_page.png&quot;&gt;here is a screenshot&lt;/a&gt;
in case it ever gets taken down). I then posted a link to the extension on an
internal Slack channel. On the same day, I was fired and that post was taken down.&lt;/p&gt;

&lt;p&gt;Note that:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;The extension does something that anybody can do manually without it.&lt;/li&gt;
  &lt;li&gt;Google approved the extension onto its store (manual process).&lt;/li&gt;
  &lt;li&gt;The immediate reason for the firing is in essence my wanting
to help others by sharing a tool I had been using myself for a while.&lt;/li&gt;
  &lt;li&gt;I wasn’t asked to take the extension down before termination.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;poor-performance-unlikely&quot;&gt;Poor performance: unlikely&lt;/h3&gt;

&lt;p&gt;I hope those never come or remain minimal (&lt;strong&gt;update&lt;/strong&gt; 2022-11-03: they did come,
and they haven’t remained minimal ☹️), but the “poor performance” layoffs
haven’t started yet. Prior to my termination I had volunteered
to work on some newly urgent changes and worked through the weekend (slept on
a couch at the office on Sat evening), and on Monday (Oct 31) was brought over to three
“secret”
and high priority projects. In the various “stack-ranking” lists to (naively) compare engineers, I was in the top 5 or 10%.&lt;/p&gt;

&lt;h3 id=&quot;better-explanation&quot;&gt;Better explanation&lt;/h3&gt;

&lt;p&gt;A couple of people much smarter than me have suggested that
that this may be an excuse to fire me over a “troublemaker” vibe coming from me.
I don’t deny that, and I don’t blame
the new management for preferring not to have to deal with that liability. More
history on this:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;In Oct 2021, Twitter HR had asked me to take down a cartoon I
had posted. I took down the internal post, but I took issue with the fact that
they also asked me to take down my public Twitter post (which should have been outside
of their authority). The then-CEO Jack Dorsey had sent me a very
short question about that:
&lt;img src=&quot;img/2022-11-01_bye_twitter/jack_message.jpg&quot; alt=&quot;&quot; /&gt;
All such cartoons have been public since then, &lt;a href=&quot;https://twittoons.com&quot;&gt;on this site&lt;/a&gt;).&lt;/li&gt;
  &lt;li&gt;In July 2022, as I had been sharing some broad statistics (tenure, location) about
Twitter employees
(all internally, and made from data accessible to anyone internally), I got some amount of scrutiny
from HR. I toned it down but didn’t stop updating my existing pages.&lt;/li&gt;
  &lt;li&gt;In Oct 2022, as Elon Musk was visiting the San Francisco office, I made a
printed version of &lt;a href=&quot;https://twittoons.com/22&quot;&gt;this cartoon&lt;/a&gt; with a short inscription and handed it to him:
&lt;img src=&quot;img/2022-11-01_bye_twitter/elon_note.jpg&quot; alt=&quot;&quot; /&gt;
(He took the print and said “Well I bought it anyway”, replying to the line in
the cartoon).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;I am doing fine. I am very lucky: I have citizenship of another country with
good health insurance, I have a green card, I am fine financially (that may have
allowed me to speak up more than others). I don’t
hold any grudges against people who were just doing their job when confronted
with a naive and mildly idealistic troublemaker like me, and I loved my time at
Twitter, especially my coworkers. 💙&lt;/p&gt;

&lt;h2 id=&quot;extra-details&quot;&gt;Extra details&lt;/h2&gt;

&lt;p&gt;&lt;a name=&quot;timeline&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;timeline&quot;&gt;Timeline&lt;/h3&gt;

&lt;p&gt;On 2022-11-01, &lt;strong&gt;all UTC&lt;/strong&gt; (a.k.a. London time).&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;20:13 Slack post linking to browser extension&lt;/li&gt;
  &lt;li&gt;21:00 Work meeting&lt;/li&gt;
  &lt;li&gt;21:13 Incoming meeting request from “Corporate Security”, for 21:30&lt;/li&gt;
  &lt;li&gt;21:17 Disconnected from everything mid-meeting, laptop goes blank&lt;/li&gt;
  &lt;li&gt;21:32 Missed call from skip-level&lt;/li&gt;
  &lt;li&gt;21:49 Termination email&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;faq&quot;&gt;FAQ&lt;/h3&gt;

&lt;p&gt;Adding questions as I get them. Questions not answered here? Drop me a direct message &lt;a href=&quot;https://twitter.com/lmanul&quot;&gt;on Twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What exactly did they say to you?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: Just this email (hiding names as it came from someone I actually quite like (still) (&lt;strong&gt;update&lt;/strong&gt; 2022-11-03: that person, along with their manager, as well as my direct manager have all been fired as well; continued friendly chats well aware that there was nothing personal): &lt;img src=&quot;img/2022-11-01_bye_twitter/termination_email.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;My reply: “Thanks [redacted]! I’d love to know what “recent behavior” is, but let me
know if someone else can provide more context. Regardless, it was a pleasure working with you :-) @[Redacted] I assume I can ask you about off-boarding instructions? I have
this big expensive Twitter-provided Mac laptop that I’d love to return
properly. I’m near the SF office, is there an easy way for me to
return it in person? That would avoid expensive FedEx-ing fees :-D
Thanks!”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What do you mean by stack-ranking engineers? What were the criteria?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: Raw number of lines of code over a certain period (a year I think).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Which cartoon were you asked to take down?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: It was &lt;a href=&quot;https://twittoons.com/4&quot;&gt;episode number 4&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Will you get a severance package?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: I doubt it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: How many people worked through the weekend just before getting fired? How many slept at the office Saturday night along with you?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: I don’t know. And I was the only one sleeping on a couch on my floor, but many people have been working from home, and even more would be on a Saturday night.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Are you going to fight this?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: Maaaaaaybe? But likely not. Yes, I know that’s what they want. I have
better things to do :-D &lt;strong&gt;Update&lt;/strong&gt; (2022-11-03): &lt;a href=&quot;https://www.courtlistener.com/docket/65680829/cornet-v-twitter-inc/&quot;&gt;actually, scratch that&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Will you keep making cartoons? About Twitter? About Google again? About other things, too?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: Yes, yes, yes and yes. :-)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What’s next for you?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: I don’t know yet. I might do drawings (and other creative and unlucrative endeavours)
full time. Or I might try to go back to work at Google if they’ll have me back.
I am extremely lucky not to be under any time pressure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Can I have the PDF of the filed complaint?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: See the link above in “are you going to fight this”.&lt;/p&gt;

&lt;p&gt;&lt;a name=&quot;tweeps&quot;&gt;&lt;/a&gt;
&lt;strong&gt;Q: Can you put me in touch with other former Twitter employees?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: If you search for the emoji 🫡 on Twitter you will find no shortage.
Other than that, I’d rather help protect my (former) colleagues at this point.&lt;/p&gt;

&lt;!-- &lt;a name=&quot;media&quot;&gt;&lt;/a&gt; --&gt;
&lt;!-- **Q: Interview please?** --&gt;
&lt;!--  --&gt;
&lt;!-- A: There has been a lot of media attention between November 2nd and 6th, 2022. --&gt;
&lt;!-- You can find many resources (written, video, audio) in several prominent media --&gt;
&lt;!-- and multiple languages. I am hoping they (along with this page) will help --&gt;
&lt;!-- answer your questions. I have decided not to interact directly with the media --&gt;
&lt;!-- any further as of November 6th 15:00 California time. Sorry about that. I will however keep --&gt;
&lt;!-- posting cartoons on my [Twitter account](https://twitter.com/lmanul). --&gt;

&lt;!--
* Was thinking about leaving, but they were faster
* Others less lucky. Financial safety means I could speak up more. I have
  health insurance. But not painting myself as a knight, still just silly cartoons.
* Not really anything against Musk. Right-leaning okay, but otherwise, sound
  business. Overpaid. And doesn&apos;t take himself too seriously.
* Not gonna plug. Ukraine, Iran, Pakistan. Climate.
--&gt;

&lt;p&gt;&lt;img src=&quot;/graphics/drawings/animations/2022_twitter_love.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 01 Nov 2022 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/bye-twitter</link>
        <guid isPermaLink="true">http://ma.nu/blog/bye-twitter</guid>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Not Going Anywhere</title>
        <description>&lt;p&gt;In light of the recent events, many Twitter employees are fearing a brain drain.
Well, guess what, we get to decide that collectively — and as far as I’m
concerned, I’m not going anywhere. (Plus, I don’t carry a whole lot of brains in
the first place.)&lt;/p&gt;

&lt;p&gt;I know I am not the type of employee who has the most to fear from any potential
incoming changes, and I’m very privileged in many ways. Still, what makes the
company’s culture is 100% us. If we’re not going anywhere, neither is the
culture. And because people like me may be in a relatively more secure position,
I feel like it’s our job to speak out to say that 1) we’re not going anywhere,
and 2) if there are disruptive changes coming our way, we will look out for
teammates who may not be as privileged.&lt;/p&gt;

&lt;p&gt;I spent a bunch of years studying physics, and one of the phenomena that has
always fascinated me is the process of state changes. The way molecules are both
intrinsically self-contained and deeply connected to their neighbors. The way
tiny irregularities on the container’s surface can facilitate the forming of a
“seed” of molecules deciding to switch, say, from a liquid state to gas, and how
that can quickly spread. The way each molecule is influenced by its neighbors in
deciding whether, and when, to change states.&lt;/p&gt;

&lt;p&gt;Well, I’m not evaporating into anything. And even though I haven’t been at the
company long enough to claim that I’m part of the culture, if I can contribute
to holding the fort, I’ll be doing that with my heart and soul. Okay, that
sounded overdramatic, especially since all I can do is speak and type on a
keyboard. Let’s say I’ll be doing that with my voice and all ten fingers.&lt;/p&gt;
</description>
        <pubDate>Wed, 27 Apr 2022 00:00:00 +0000</pubDate>
        <link>http://ma.nu/blog/not-going-anywhere</link>
        <guid isPermaLink="true">http://ma.nu/blog/not-going-anywhere</guid>
        
        
        <category>blog</category>
        
      </item>
    
  </channel>
</rss>
