robert xu

good programmers are masochists

burnout sucks.

if there's one piece of advice that i've tried to adhere to (given by one of my former managers, who i very much still look up to), it's to make sure you don't make any decisions under duress. run towards an opportunity, not away from a situation.

figuring out how far under duress i've been has been something that i've been traditionally poor at. when i had my first burnout spike, i recovered by focusing on what i wanted to do, in that moment, and declared everything else off-limits to try to recover. maybe it's an aspect of work that i know i have an interest in and is ambiguous enough to warrant further digging; maybe it's just helping others get disambiguate their tasks to ensure the entire project moves forward.

my second burnout spike moved much the same way; the cause of that one was personal-related; i shifted my focus to burnout recovery and tried my best to ensure that people knew i was stemming burnout and dealing with the root cause.

but this most recent burnout spike has been not only the most intense, but also the one that has come from misunderstanding how far under duress i've been. there's a couple of factors: crazy ambiguity that's taken a lot of effort to untangle; a pandemic that refuses to end and is slowly normalising longer working hours; and an insistence by certain upper level figures to death march instead of reasonably push back a date.

by the time i had forced myself to take a break (or rather, my friends), i was feeling every inch of the burnout. i felt like my contributions weren't making impacts to slow the tide; but what was worse was that every impact that some of my closest colleagues were feeling were impacting me, too. and so i tried to find something that would be interesting for me to work on, and direct my attention to help me recover from burnout.

in retrospect, that should have been my red flag. when i went talking with different teams, i wasn't motivated to work on any of their problems, or i found red flags that i knew would hurt my recovery. by the time i had talked with a number of teams, i was starting to feel desperate. i ended up pulling on the one thing i knew i was interested in – and that was a huge mistake.

if there's only one thing that interests you, that's not a bad thing. but that one thing is almost never in isolation from other aspects of that thing. and i had totally failed to take into account all the other aspects i would be dealing with. i had ended up running away from a situation instead of running towards an opportunity.

so that one thing i was interested in – i'm not really that motivated to pursue anymore. more to the point, i'm not motivated to do anything at the moment. i'm doing my best right now to stem any further burnout, but that's really hard when i've used my last interest and my motivation has evaporated as a result. my current manager has been hugely supportive of my experiences and has helped me every step of the way so far. they can only do so much, though, and i won't hesitate to say that i'm not mentally equipped to deal with more than what i have at the moment. (i understand why people take sabbaticals, now.)

so if i'm interacting with you over the next few weeks, months (or have interacted with you over the past few weeks or months), i apologise. burnout is a tricky thing to manage, and taking steps to remediate burnout is a hard and ardous, but necessary task to manage, and my focus will be on that for the near future.

i've taken the time to update the blog again (which, you know, only happens whenever i have a major life event, it seems). still trying to make my way towards a normal blogging cadence – the list of topics i want to blog about are growing larger every day – but for now, i've added a link to my polywork page and added in some magic around the description.

Notably, my blog's description and footer were actually CSS content blocks – so you could see it because it was rendered as CSS, but it was unselectable, because it was considered decoration. I ended up adding in some Javascript to get the computed style, clear the CSS content, and replace it with the actual text (from the CSS content – had to do a couple of .replaceAll() calls to reformat it), but I think the end result came out pretty well?

Yeah, it uses jQuery. I know, there are native browser APIs I could have used. But this was quick and dirty, and honestly, my fallback for that is always to instinctively pull in jQuery to get it done. I'll probably spend some time later this week to remove jQuery and just use native browser calls.

edit: I removed jQuery! It was very easy.

it's the holiday season. Here in New York, we're teetering on the precipice of a second wave of COVID-19.

I can't say much has changed all these months. Slowly some restaurants are opening up, but many more have closed down – casualties of an uncontrolled pandemic and a lack of a safety net. I've been back to the office every so often – working from home just gets tiring. I've kind of gotten used to it, but being productive takes a lot more effort without the environment change, and if I have a bad night of sleep, I basically have to write that day off and productivity-less. I've finally gotten used to my setup, but I'm also beginning to grow very tired of the gaming chair I have – which is peeling faux leather on the seat cushion from how much more I've used it these couple of months than any time else I've had it. Potential Herman Miller purchase?

Summer flew by – usually summer is marked by how much hotter it gets, but when you spend the vast majority of it indoors, suddenly it's gone in a blink of an eye. The hardest part for me was Daylight Savings Time – the change hit me so much harder this year as a result. It's also marked a shift in trying to go out and enjoy at least a little indoor dining while I can – because I know this winter is going to be much tougher than normal.

And I didn't go home for Thanksgiving. I last visited my parents in September – a quick trip around the time of my birthday – and back then, the airports at least at LGA and DCA were nowhere near anything resembling crowded. Hearing that 1.5 million people still travelled on an airplane for Thanksgiving was a big oof – and I ended up cancelling my flight to DCA the day of the flight. Shout out to Delta – I'm glad they're still allowing changes and keeping middle seats clear. (I'll gladly pay extra if you keep doing it until a vaccine comes, hint hint.)

And so here we are, about to head into December. What will that bring? Who knows. (Hopefully not another lockdown, but it's looking more and more likely by the day with the numbers trending as they are.)

We're almost 3 months into lockdown. Wow.

Time flies. On 15 January I was on a plane to Shanghai as a normal routine work trip, and by 23 January I was wearing a mask and heading back to New York worried about the sudden lockdown of Wuhan.

Working from home during this has been a challenge. The first time I did it, I remember coming back to the office with a mess of a document and remarking to my colleague, “how do you focus? I couldn't get anything done.” I remember it was so concerning to so many of my colleagues that I had essentially had a cliff dive in productivity, and all I could do was shrug my shoulders and remark how it all seemed like a blur. And it still does – I'm not sure what happened, just that I had a document, words were not falling into place, and I couldn't understand why.

Fast forward to this situation today, and the initial work from home issue took hold again, but at a shorter interval – possibly because I planned for it. But as someone who tried to keep a strict separation of work and home, physically more than anything, my home workstation was nowhere near prepared for this. Buying KVMs, laptop stands, new adapters... it made for some tough times at the start of this one, especially since it was sold out everywhere. I didn't plan well enough – probably should have bought all of these things before everyone went into lockdown, but I probably thought I can survive through this again, and try my best for it to not be a blur – then when it passed 2 weeks I realised that was more than definitely not happening.

And being so used to physical separation of work and home sucks, too. There are days where I sit down at my computer at 9am and don't get up until 9pm, and I'm still staring at the same screens, except now they're my computer instead of the laptop I have plugged in. So I'm still sat here, and that's not a good thing.

I got a pull up bar, though, so occasionally when I'm stressed or need to stretch my legs I'll go over there, attempt a pull up, hear my back crack from the stretching, and then go back and sit down – but it'll feel much better.

Anyway, other than the obvious productivity hit, I think things have been relatively okay on my end. Kind of wish I had a patio. But not sure there's enough money in the world to afford a place with a patio in New York City right now.

By now I'm sure you've heard of the recent macOS supplemental update that rolled out to basically everyone and bricked a ton of devices – that includes Catalina, Mojave, and High Sierra. I know tons of people who have Macbooks and have been impacted badly.

The thing I keep wondering is, at a time where most of us are stuck at home, why push out a buggy update like this? I think this is where processes need to be called into question, because typically companies would want to avoid any updates during peak season (I know at work this is sage advice; this is definitely peak season for Apple when so many people rely on their devices and there's no convenient mechanism to get them repaired due to COVID-19).

Does Apple consider the owners of its devices its customers? Because for the businesses that are just hanging on and need their devices, any blow like this could be devastating to them – and with this update, it seems that Apple isn't following the same line of thinking there.

(And aside, if it doesn't, then let me do whatever the hell I want on my device, and stop trying to be gatekeepers if you don't want us to be customers either.)

2020 is here! happy new year, but also, things have definitely changed since the last time I wrote a post on here.

last year, i went to hawaii for the first time, went back to the philippines to see family i haven't seen in over 10 years, took a road trip from los angeles to san diego to see friends i haven't seen in a while, reunited with some friends back in maryland that i haven't seen since high school...

this year is already shaping up to be an interesting one. lots of travels planned, but also trying to push forward my involvement in open source again. it's stalled heavily but i want to make it work.

and i finally started casually streaming games on the side! only every so often otherwise how else am i going to find time to do anything else? but it's happening.

here's to a good 2020.

purchasing a new laptop is difficult.

there are so many factors that come into it – chief amongst them usually the question of “do I need this?” – but afterwards, it’s easy to get lost in a world of specs and displays and whatnot…

but one thing i seem to have a hard stop on is keyboard layout.

not qwerty or azerty or anything like that, but more like: can I use fn-arrow keys to go home/end/page up/page down?

it seems like such a minor issue but it actually really affects the way I type on a keyboard. especially in code and when I’m typing documents, I actually find it really handy to be able to arrow key around the document both in small increments, but also around the whole page.

i’ve found, however, that a lot of laptops don’t follow the fn-arrow keys philosophy. some of them change the arrow keys to volume or prev/next; some of them change it to volume/brightness; and some of them just leave the keys bare.

to make matters worse, the home/end keys, if they’re not on the arrow keys, are either on the top of the keyboard in some randomly inaccessible place, or off to the side, where they still require me to break my line of thought to find where those keys are.

at least macbooks are pretty consistent – cmd-arrow keys for mac applications, fn-arrow keys for console applications. i don’t mind trying either because at least it’s second nature and doesn’t break my line of thought so much – my hand isn’t moving from the arrow keys and typically my pinky is on fn and my thumb on cmd at that point.

but seriously, shopping for laptops is just a pain.


this is very random, but i've been thinking of starting a podcast.

i wonder if this is so that i can get out of writing blog posts in favor of just vocalising thoughts.

what would the podcast be about, i guess? probably about stuff on my blog. still debating.

maybe i'm just being lazy.


mental health is important.

when your mental health is damaged – whether it be worrying about too many things, anxieties skyrocketing (something i have particular trouble with), or just personal, family, or work issues, there needs to be a process to stop and step back.

i can already feel a personal day coming up, but some of the things i've learned to do when i've not had any sort of opportunity for utilising a personal or vacation day is to try to compartmentalise the situation and determine what's important or what isn't.

then, i try to tackle the things that will be the quickest so that the list doesn't seem so long. yes, there are still big and longstanding things, but making the list not seem so long is also a huge benefit.

the key thing there though is that there are a lot of people telling you what's important and what's not – and at the end of the day, those opinions don't matter. the most important thing is your mental health, and everything should take a backseat to that.

stress is a strange thing to measure.

when it comes to stress, i've gotten a myriad of opinions on what exactly the level of stress i should be experiencing is necessary for me to call it stress. some people have said small things are too much work for me; others have said that i'm clearly not doing nearly enough for me to be stressed out about anything.

i've come to realise though that stress isn't something that you can measure on a measuring stick – something static. it's ever changing. i think it's easier to weigh it against happiness.

when you're stressed but happy about something, suddenly that stress doesn't seem so bad and it feels more rewarding. likewise, when you're not so stressed but also very unhappy, that stress feels a lot more backbreaking.

i think in the end, i should just stop listening to people about what they think should or should not stress me out – and focus on whether something makes me happy or not.

because that's all that matters in the end.


Enter your email to subscribe to updates.