Mash's Musings

What do file extensions do?

Published Sep. 18, 2022

I recently read a funny blog post on things learned way too late in life. While there are certainly no shortage of such things to share, I have found some of my biggest "woah" moments in the last few years to be in the world of computers. Being pretty new to the field and largely self-taught, I consistently have the bittersweet experience of noticing a glaring blindspot and the lightbulb moment once the gap is filled in.

When I was younger, though not young enough that I want to divulge a specific age, my thought was that file extensions were something magical that dictated what a file was. Like some sort of digital cargo culter, I remember at some point attempting to rename some random file "Need for Speed.exe" in the hopes that I could manifest the video games my parents refused to purchase for me. My mental model of file extensions was akin to incantations in a spellbook: where the right set of words in the right order would produce a magic effect. I interpreted my inability to turn English homework into video games as a failure in execution, not understanding; and I was disappointed that I did not know the right set of magic words to achieve my noble goal.

Perhaps when Harry Potter introduced dementors and Hermione became hot, my magical fantasies shifted towards killing ghosts and kissing cuties, and I gave up on trying to manifest magic in the world. My understanding of file extensions at this time was updated to a conception that it was some sort of magic property of the file that was not to be tampered with. I'd imagine this had to do with the scary dialog boxes that previous versions of Windows would hit me with every time I veered to the right of the '.' when renaming a file. On the occasions when I steeled my nerves and boldly renamed the file in brazen defiance of the warnings, I found that, as promised, Windows no longer knew what to do with my file. Like poor Icarus, I had flown too close to the sun and I was grateful that while Daedalus had to watch his son perish, Bill Gates had provided me with the ability to ctrl+z my hubris away. My file extensions were restored and the damage was undone.

It wasn't until my 20s when I was learning the basics of programming that something clicked. One exercise had me create a text file for manipulation — not a Microsoft Word .doc which is what I had always thought was a text file — but the equivalent of opening up Notepad, typing "hello world", and saving the result as "hello_world.txt". Boiled down to such simplicity, it dawned on my that regardless of whether I changed this file name to "potato.txt", "hello_world.text", or "Need for Speed.exe", the actual file would only — no could only — contain the same 11 characters; the file name had nothing to do with the file contents. With that clarification made, it still left the question in my head: What do file extensions do?

It turns out that file extensions are simply hints to readers of that file name, human or computer program, of what that file should contain with no guarantee of what it does contain. Simple file extensions like .txt suggest that the file contains some text. More complex file extensions, such as .png or .mp3, suggest that the file conforms to a specification laid out in some official document so that a reader knows exactly how to read the file, akin to the jacket of a book specifying "French" or "Russian" as the language. The jacket provides helpful information about what I can expect in the book but doesn't define the book itself. And like a book jacket, a file extension can be misleading, ommitted, or ignored entirely while leaving the book unchanged. So while I can swap out the original "hello_world.txt" jacket for the "Need for Speed.exe" jacket, all that would accomplish is the confusion of future readers, a pattern commonly seen in malware masquerading as benign files. I can also remove the jacket altogether by renaming the file just "hello_world", and while that will cause Windows to get confused about how to read the file, I can open read its contents in Notepad all the same. Regardless of what I change the extension to, a reader can always attempt to read the book anyways and check for itself.

It turns out that these little extensions hardly contain the potency I once ascribed to them, yet through their relatively humble hints, still serve as a critical piece of the process that involves reading and writing all manner of files in composing complicated programs. Well it's either that, or I still haven't found out the right cheat code to manifest all the video games my heart desires.

How to read a URL

Published Sep. 11, 2022

I recently read a funny blog post on things learned way too late in life. While there are certainly no shortage of such things to share, I have found some of my biggest "woah" moments in the last few years to be in the world of computers. Being pretty new to the field and largely self-taught, I consistently have the bittersweet experience of noticing a glaring blindspot and the lightbulb moment once the gap is filled in.

One of these unintuitive blind spots for me had to do with reading URLs. As an example, let's take the URL of this web page as an example:

If you are at all literate in English, you tend to read from left to right. Thus, I would have interpreted the URL as, "Some mumbo-jumbo colon-slash-slash, then the mashsmusings site which has something to do with neocities and is part of an org, then reading a specific post within 'posts'." While the left-to-right heuristic is great 99% of time, it unfortunately doesn't work when reading your favorite waifu manga and, confusingly, only mostly works for reading URLs. To see what I mean, let's dig into the different components of our URL.
   1                2                3             4
  1. protocol: This part is kind of complicated but, in short, this defines what set of instructions needs to be used to read the resource. This will almost always be Hypertext Transfer Protocol to read from web servers but sometimes you might run into something like "mailto:" which initiates an email message to a specific email address.
  2. domain: The domain can be thought of as the human-readable name of a server, AKA someone else's computer. Confusingly, domain names are interpreted in reverse order and in hierarchical fashion. So in our example, our top-level domain (TLD) is "org", "neocities" is a single subdomain under "org", and "mashsmusings" is a single subdomain under "neocities". This backwards-reading domain tells us which computer on the internet we're interacting with.
  3. path name: The series of folders you can imagine clicking through on the server's hard drive. In our example, this is the "/posts" directory under the root directory.
  4. file name: The name of the actual file you are requesting from the server in the directory specified by the path name beforehand, including the extension associated with that file. This is usually a ".html" file specifying a web page but sometimes it can be a .jpg or .mp4 for an image or video clip respectively.

Putting this all together gives a more illuminating interpretation than the one prior. Now the same URL can be interpreted as "Using the HTTPS protocol, go to the server registered as 'mashsmusings', a subdomain of 'neocities', a subdomain of 'org'; go to the posts folder, and get me the file called 'how-to-read-a-url.html'". Despite being an avid internet user since age 7, I never picked this up until I had to set up my own site — the more you know!

As a side note, learning about domain hierarchies being read right to left, made me wonder why most sites have the terminal subdomain "www". Turns out, it's completely pointless! Having a "www" subdomain was a legacy convention to specifying that your server was on the Worldwide web but over time, that convention has fallen away in favor of clearer, more concise domain names. Not everything has a good reason.

Clients and servers and bears, oh my!

Published Sep. 11, 2022

I recently read a funny blog post on things learned way too late in life. While there are certainly no shortage of such things to share, I have found some of my biggest "woah" moments in the last few years to be in the world of computers. Being pretty new to the field and largely self-taught, I consistently have the bittersweet experience of noticing a glaring blindspot and the lightbulb moment once the gap is filled in.

Understanding the whole client-server thing was one of these experiences. These concepts are thrown around in almost any slightly technical computing context but for most of my life I just slowly nodded my head along without really getting it. It wasn't until I heard someone describe a server as "someone else's computer" that it clicked for me. While that is a bit reductive, I think it's a helpful reminder as we think of the original analogy.

Imagine that you're hungry suburbanite and you're walking down a strip mall of restaurants, deciding whether you really want to hit Subway after that "Subway man" scandal or if you'd rather deal with the screaming children at Appleby's. As you, the client, are browsing you decide that Subway was in part responsible for Jared Fogle's actions and decide on Appleby's as your host of choice. You, the client, are met by the server who takes your order, and after some time, serves up your request.

In computing this is why your web browser is often referred to as the client. As you browse a website, there is a host computer, or server, which brings you the files displayed on your computer. The internet is conceptually just the mode of communication between these computers. Cool, right?

This post was definitively not sponsored by Subway.

My favorite interview question

Published Jan. 23, 2022

Interviewer: So, what's your deal?

Simple. Profound. And most importantly, unexpected. Those are the reasons why, of all the interview questions I've come across, this is my absolute favorite. For the record, I certainly don't think this is the best interview question (I still don't really know what signal this would provide about the competency of a software engineer) but this question has certainly lingered with me the most, and provided the basis of many interesting conversations.

For context, this was only portion of a gauntlet of highly unorthodox interview questions a friend was recounting after a brutal on-site at Palantir in 2017. At the time, Palantir was not the r/wallstreetbets meme stock it has become, but instead a mysterious shadowy organization that seemed to be on the cutting edge of applied machine learning and Big Brother conspiracies. And it seemed that this mysterious organization had a touch of Kantian humor in its interview process.

The elegance of this seemingly farcical question is the inability to take it at face value. There is no obvious answer, no rehearsed STAR-format story you can regurgitate, no way to pander to what you think the interviewer might want to hear. Given the force of such a question, the conversation is likely to continue as it did with my friend:

Friend: Uhh... What?
Interviewer: Assume I've read everything on your resume so don't bother covering any of that. What's your deal?

With your attempt to get some clarity foiled and your hope that there was a misunderstanding crushed, you're left again with the looming question: "What's your deal?" For most people, I think the interview ends there. This is not a question that many people have ever considered for themselves and not one they are equipped to tackle in the stress of an interview. I suspect the first part of this interview is simply to assess whether the candidate can even muster any sort of self-reflective response, regardless of what the answer may be.

For the rest, this question hits an existential nerve. Why are you sitting in this interview room in the first place? And what are you hoping to get out of it, out of life? And how can you possibly try and capture this in a few minutes?

I have thought about this question many times over the years and still find it fascinating. It comes to me every time I find myself questioning the meaning of work or the fulfillment derived from it. This post is not about my answer, I'll save that for another day or an in-person conversation — this post is to make you consider this question for yourself. After all, if we can't answer a question so simple, then what is our deal?

Return to office observations

Published Oct. 30, 2021

It wasn't until I sat down that I realized something was different, this was not the familiar routine of the past year. I was about to pull out my phone but I hesitated, getting the sense that I wasn't alone. I swear I could hear things: shuffling of feet, rustling of clothes, the faintest of exhalations perhaps. I had definitely heard the click of the door lock but the supreme privacy that generally comes with that was notably absent.

I listened carefully again and this time had no doubts: I could definitely hear others, one, maybe two at most. There were no voices, these strangers were trying not to be heard but in the relative quiet, I could hear them nevertheless. I didn't know the others but I knew what they wanted, we were all here for the same reason after all. In that knowledge I found solace. And in that solace, I realized the intimacy of the moment, the spiritual and physical closeness of it.

I did not know whether I had missed this intimacy and I fear admitting that even now; all I can say for certain is that this felt new again. Whatever I may hide about my feelings, I cannot escape the truth of the fraternal bond so silently formed. I wonder if this is how it's always been and whether this is how it will always be from here on out.

Whatever the answer, I remember that I came here with a mission, I could not afford to be distracted any longer; time to get back to the task at hand. With that resolve, I finish pooping and get back before my next meeting. Duty calls.

My current strategy for productivity

Published Oct. 10, 2021

  1. Take on new work.
  2. Respond to Slack messages and read through emails instead of doing work.
  3. Let work start to pile up.
  4. Get stressed out about how much you need to do and learn.
  5. Watch YouTube videos and browse the web instead.
  6. ???
  7. Profit.

I can't say I would recommend this strategy to anyone at any time. But sometimes it's good to know that you're not the only one adopting this elite strategy.

Who can you trust?

Published Sep. 11, 2021

In my recent post on voting for politicians, I stated that voting solely on a politician is a vote of trust. Trust that they are sincere in their views and trust that they will be able to execute on their promises. With friends, we gain this trust over time by observing behavior in different situations. If a friend speaks of loyalty, are they there when you need help? How well do they perform at work or execute in cases where they are responsible for something? Whether this trust was built consciously, it exists in some measure for everyone you know. Can we reasonably extend this trust to our favorite politicians?

Like all good yes-no questions, the answer is "it depends". Breaking it down, it helps to check how much of a politician's behavior we have really seen. For an incumbent, we get to live the post-script of an election campaign. Their face graces our screens on any newsworthy occasion and their slights instantly make headlines. We can keep a mental, or these days digital, record of how many promises they've kept and weight those against our personal values. The longer the incumbent is in power, the more behavior we see and the wider variety of situations we see handled. Whether friend or foe, there accumulates enough data points to form an opinion on how well they wield power. But what of the rest of the candidates?

After losing an election, most candidates fade away into obscurity. I imagine they go to the same island for respite as Tupac or my favorite barista when I'm out of town. Yes, some political pundit or poli sci major friend may keep tabs on the goings-on of daily politics, but for most the next time you'll hear of the candidate is through election or scandal. All the campaign promises made and all the values stood for stand untested. There is no data available on how they would perform in power, no data upon which to build that deeper level of trust. What remains is only a vague hypothetical of the leader that could have been.

In practical terms, this effectively means that voting based on politicians is a vote of confidence for the incumbent. Voting for the incumbent is a vote based on trust earned, voting against is a vote based on trust lost. The specifics on who you choose in the latter scenario is necessarily based on a much weaker form of trust, one based on belief rather than evidence. It's important to keep this asymmetry in mind when there is no counterfactual. The decision harkens to the old Irish proverb, is it better the devil you know, or the devil you don't?

Politician or platform?

Published Sep. 11, 2021

With the Canadian federal elections coming up, I found myself having to change my generally apolitical posture to fill the role of engaged citizen. As someone with no particular fondness for any one political party, this usually involves going through some of the platforms and reflecting on my current values. After some high-level research, I will usually check out something like Vote Compass to assist in the final decision making. Having done this bare minimum of work, I go back to political hibernation until the next election, satisfied that I have done my part in the democratic process. Asking others about their decision process usually returns one of two answers: vote for the same party as always, or choose the prime ministerial candidate they like the most. While I've snubbed my nose at both of these approaches, I have gained some appreciation for the latter.

I've held the view that voting for your favorite politician, as so many do, to be a wrongheaded cop out. When thinking of the complexities that go behind running an effective government—economic policy, foreign affairs, and now even pandemic response—it seems crazy to think that one's competencies in all these disciplines is in any way correlated with one's ability to win a popularity contest. Focusing solely on the politician leads to cults of personality and adopting the views of the leaders instead of adopting leaders whose views align with yours. However, I realized it is not so simple and is perhaps the high price to pay for convenience.

To really vote based on platform means educating yourself about a wide variety of issues and carefully comparing which party's values align most closely with yours. This requires some baseline level of knowledge on any topic researched, an understanding of the players involved in those decisions, and a picture of which policies could be the most effective at some point in the future. Assuming you have the prerequisite level of multidisciplinary education, this is no easy task. On the conservative end, this would require dozens of hours of reading to get anything close to a holistic view. A noble goal for sure, and the hallmark of a truly engaged citizen but certainly not realistic or even possible for everyone voting for an election. Going through Vote Compass this year I realized I had no clue what the Canadian government was doing in terms of policing or Indigenous reconciliation which makes it hard to have an opinion on whether they ought to do more or less; and I would bet the majority of citizens have similar knowledge gaps (although this rarely prevents strong opinions). Enter: voting for the politician.

Imagine having a close friend who had purportedly had done his homework. You've heard his takes and trust that he is sincere in his views. Having heard this friend speak many times, you are confident that you two are mostly aligned on values, at least moreso than anyone else you've speak on politics. Would it not be reasonable in this case to proxy your vote through your friend? On some level, I think this is how 99% of us actually operate when it comes to forming opinions on anything. We hear something that resonates with us from a high integrity individual, probe a bit into the rationale, and then accept or reject the argument presented. Representational democracy is really just an extension of the same idea. Replace your friend with your local MP and you have the current system in place today.

Voting for the politician is a vote of trust more than it is a vote on policy. It is a vote that the politician's values are aligned with yours and that you trust their ability to execute on them. Not to say that they know everything or will always make the best choice, but rather that they'll act in accordance to the values they have stated.

I think as I grow older and perhaps a little more jaded when it comes to politics, I can see the justification for voting for the politican. The noble idea that every citizen becomes a bastion of his own individual political worldview seems naive. I think where I've landed personally is somewhere in between the two approaches. Do the homework to get a broad sense of platforms; this serves to make your values at least somewhat explicit. Find the party that most closely aligns with your values and run a quick trustworthiness check: does the federal candidate seem trustworthy to you? Does the candidate in your local riding seem trustworthy to you? This probably requires some digging. If not, then repeat this exercise with the next party in power. If you get to the bottom of the list and you still find no good candidates, perhaps it's time to start your own party. The only question is: do you trust yourself?

Dissonance by distance

Published Aug. 30, 2021

I was recently chatting with a coworker about personal ambitions and interests. She wanted to explore building a startup and I wanted to meditate on life and catch up on a quarter century of not reading enough. The first step of both? Quitting our current jobs. We both had an easy time encouraging each other's goals and downplaying the perceived risk but as similar as our goals were, the calculus seemed to change when evaluating our own situations. My coworker captured the irony perfectly, "I can tell you that your fears are irrational but when I apply those fears to me, they seem completely rational."

It is strange to ponder how true this really is. When listening to someone else's woes or concerns, it seems all too obvious what the solution is or how culpable the friend is for their own suffering. When pausing to reflect on how it feels to be in their shoes, it's never so simple. Thinking about things from my perspective, at a psychological distance of zero, there is some strong dissonance about what facts are relevant or important but as that psychological distance increases, that dissonance quickly drops to zero.

When looking in as an outsider, we are able to take achieve a sense of clarity through simplification. All of our personal decision-making is enmeshed in decades of habits, social norms, anxieties, and rules but outside of ourselves; situations are boiled down to a handful of facts and decisions are clear. The complicated mess of emotions and feelings disappears and decisions become a matter of connecting the dots. Emotions and fears become fuzzy layers confusing the facts as opposed to valid reasons to consider the facts differently than they are. With my coworker, we were both able to look at each other's situations, assess that the actual potential downside is fairly limited, and the gain in wellbeing extremely high, but when viewed through our own lens, that jump into the shallow end stretches into an Olympic dive.

This relationship seems to hold true in even trivial situations, as I discovered in the middle of a game of chess. After thinking through a few ideas to try and push my advantage in the mid-game, I decided to bring my queen closer to the quickly growing kingside attack. The move seemed strong but I was aware of a lot of weaknesses in my position and key squares I didn't control. To my surprise, my friend spectating the match quickly calls out "Mate in 3." Turns out he was right. We discussed afterwards how much easier it is to notice these things as a spectator. Even though we were seeing the same board, the mere fact of having some psychological distance afforded him greater clarity. Even in a game of chess, we are so caught up in our fears and worries that we miss the obvious.

Unfortunately, getting rid of an egocentric world view is not an easy task which leaves me with two takeaways. The first is to remember this outsider perspective we have when listening to others, increasing our empathy for what it truly feels like to be that person. The second is to achieve nirvana, lose this narrow sense of self, and detach from our ego altogether. But in the meantime, I do the next best thing: ask a friend.

Duality of characteristics

Published Aug. 26, 2021

"Your strengths are your weaknesses". This is something I've heard a few times but have come to recently see the wisdom in. Most of the things we like about ourselves are usually the things that bring us down in our own eyes or those of others. The more we get to really know someone, or the less we see ourselves in them, the more likely we are to frame things as nuisances or weaknesses as opposed to the strengths. This holds most true for ourselves and second most true for family. Here are some examples I could think of:

The good thing is that we can always reframe things and immediately see the effect. Next time you find yourself annoyed at someone, think about the strength coming from that weakness. Is the person nagging you or displaying concern? Your choice. It's easier to see one side based on our mind or interpretation of that person. In our own internal narratives we are deeply nuanced, complex characters but others are often simplified to good or bad.

I think the most important thing is not to constantly try and reframe everything as a strength, but rather to decide whether our friend, family, or lover's strength-weakness pairs are cumulatively "enough". Making a conscious decision about the strengths we love so that when they manifest as weaknesses, we can remind ourselves of why we put up with them in the first place.

How to tell who your real friends are

Published Aug. 24, 2021

There are a lot of ways to try to identify who your "real friends" are. You might think they are the people who always remember to wish you a happy birthday, would bail you out of jail at 2:00 am, or are the most fun to get drunk with. All of those criteria, and many others, have some merits and some flaws. However, I'd like to nominate a different definition. With real friends, you both have the sense that you are taking more from the relationship than you are getting. There exists a beautiful non-zero sum symmtery where each of you gain more than you put in.

Common wisdom holds that healthy relationships are all about equality but is this really true? Think of relationships in which you feel completely equal with the other party: they may have given you something at some point and you returned the favor. You may have been wronged but some subsequent act of generosity then righted things. Everything is perfect... Or rather perfectly fine. To me this is the definition of a transactional relationship and is the terminal point for the vast majority of relationships. There is some subconscious tally of where both parties stand and at the end of the day when all is reconciled, both parties are merely satisfied. Deeper relationships on the other hand always feel a little unfair.

Most "unfair" relationships however, don't end up lasting too long. Professional or personal, relationships that are too one-sided eventually lead to annoyance and then fizzle out unspectacularly, well-intentioned or not. I see it all the time: a seasoned career vet with heart full takes on a mentorship role, only to realize that it's not all that energizing to coach someone on how to get promoted every 2 years. Even the brightest and most extroverted career superstar will leave every meeting feeling a little more drained, having given more than they received. Unfortunately, the net "taker" in the relationship often goes unaware, leading to some perplexing eventual heartbreak. While these relationships most often tend to be toxic, on rare occasions they evolve into what is ultimately, real friendship.

Real friendship occurs when both parties walk away feeling like they got the best of it. You think about the relationship and have a deep sense of gratitude; after all, these are the people who have suffered your insufferability. Listened to your emotional outpourings, patted your back as you yakked out of the Uber, and inspired you when you felt lost. So when the time comes to lend an ear or a dollar, you don't even think twice. You know the scales won't balance but you're happy to do as much as you can in gratitude. And on the rare occasion where you muster up the courage to express that gratitude, you are slightly surprised and warmed to have that gratitude met in-kind.

While this definition, stated eloquently by Bill Lazier and restated by Jim Collins, seems awfully selfish at first, I think it captures the true essence of what it feels like to be in a strong relationship. This definition extends beyond time spent together, frequency of interaction, or even type of relationship. And scoffs at the notion that great relationships are "equal" in the colloquial sense. The only tricky step is asking whether the other party feels the same inequality. When in doubt, make up your own reality where everyone loves you infinitely — I can't say it works forever, but I can say that it's worked for 27 years and counting.

Have direction, not goals.

Published Aug. 22, 2021

Everyone from parents to managers drills into you the importance of having goals. I think the first time I was taught about making "SMART" goals was grade 9, and it's been a mainstay ever since. The core message being driven home again and again was that you need goals to achieve anything. While I do think goals may be useful in some very specific short-term contexts, the supreme focus on goals does more harm than good.

For starters, likely as a byproduct of being Specific and Measurable, goals tend to be extrinsic. As a result, when most people talk about their goals, they resemble something like, "Attain X title or $Y salary by age Z." And while these goals are SMART, they are certainly not smart. The issue is that truly meaningful goals that result in higher satisfaction are far fuzzier: the things we truly want such as fulfillment, strong relationships, and legacy do not lend themselves well to overspecified goals. Instead, goals bias the goalseeker towards checking boxes that skim the surface of success without actually diving into well-being.

Instead, it is generally more helpful to have a clear sense of direction. By direction I mean orienting yourself towards a given value or lifestyle, with a much bigger focus on the "why" as opposed to the "what" or "how" of traditional goals. Finding direction can be difficult and scary, especially if you're young. But the beauty of direction is that it can be as vague and messy as it needs to be; regular redirection is normal and encouraged! To illustrate the difference, here are a few directions I've had in the past few years, contrasted with some similar golas I've heard:

Each of my directions are absolutely horrendous by measure of any goal-setting framework but their simplicity and breadth are what I find most powerful. By having a broad direction or theme always present in your mind, you can make many smaller decisions to orient towards that instead of tying success or failure to something arbitrarily specific. Taking the first example on living healthier, the broad theme led to a whole host of lifestyle changes encompassing sleep, caffeine, drinking, and exercise. Focus on the big picture and keep the true objective constantly in mind, and you'll find yourself steering your decisions to align in the direction you want to go.

Only once you have a sense of direction, should you even start to think about having some goals. Try to keep these goals as short-lived as possible to avoid the risk of value drift. The longer-term the goal, the easier it is to find yourself committed deeply to something while not remembering why it was important in the first place. I see this manifest itself in situations with friends grinding for a couple more years to complete their CPA despite learning that they never want to do accounting. Or burning the midnight oil trying to get the promotion or salary increase in a role you hate. While this dogmatic focus on achieving our past goals feels good upon accomplishment, it pulls our energies away from focusing on moving in the direction we would like to go today.

Spend some time figuring out a general direction, don't overthink it to start. The key is to keep this direction in mind frequently. It should be easy to challenge, easier to revise, and probably impossible to complete. Make room for small cumulative, permanent changes instead of overindexing on time-bound commitments. Goals are overrated.

Network like a superfan

Published Aug. 17, 2021

Network like a superfan. The goal is to get their life story, not find answers to yours.

Networking is either extremely underrated or overrated, depending on who's asking. For a business school grad, I would say that networking is overrated. Networking can help with the discovery phase of finding a new role and can compensate for some lack of experience or skills but is not a silver bullet. For anyone else, networking is extremely underrated.

As a first generation immigrant, I was taught that hard work and hard skills were the only keys to success. Put your head down, do good work, and you will be rewarded. Networking carried with it the stigma of being a used car salesman, hawking yourself to whoever will listen. As I have learned repeatedly through experience, this mentality sets up for some major disappointments career-wise. Practically speaking, breaking into new roles or top companies can be nigh hopeless without referrals. And on a more personal level, you have little sense of what a particular role actually entails until you chat with someone doing the thing.

The biggest mistake I see is viewing networking as transactional. The number of LinkedIn requests I get that are either "Hi, can I have a referral?" or one step away from that is a testament to this fact. This is the professional version of opening a dating app chat with "Wanna fuck?" Call me a boomer but I find this pretty unappealing. The trick is to network well before you are actively job hunting; incorporate networking into the career soul-searching phase and things will seem a lot less intimidating. Reaching out to a stranger on LinkedIn to ask their thoughts on the future of tech, for example, is going to be a lot less intimidating than asking them work to get you a job. Most humans like to talk and discuss things they are interested in.

Your goal in networking is to try and get a sense of the other person's life story. The best outcome will be to have made a new friend and the median outcome should be to get a new perspective on how to get to a specific career point. Imagine the attitude and questions you would have if you were to sit down with a career or intellectual hero of yours. Put yourself into that same mindset when chatting with someone new and you'll be pleasantly surprised at how genuinely interested you are. Leave some room in the conversation to share what bigger question you are trying to answer and where you are at but remember that this is not the main goal.

If the other person sees a match with what you've shared and what is available at their company, let them offer up a referral. Like dating, this will not always work out and that's fine, again remember that job hunting is at some level a numbers game. Feel free to ask if there are other people in the company that might be open to chatting whose journey might align more closely with yours. Chaining connections like this can be intimidating but teaches you to get over the nerves of reaching out to strangers. Seek additional perspectives and insight, and let referrals come through as a side effect. View networking as transactional and you'll find your social credit card getting declined more often than not.

More technical is better than less.

Published Aug. 9, 2021

More technical is better than less. Master the tools you use everyday.

For most people, the idea of developing technical skills fills them with a sense of dread. As a new grad with no practical hard skills, I honestly had no sense of what value I could offer. Up until a few years ago, the thought of a terminal would immediately fill me with a sense of panic that I'd break something, terminals were for "hackers" and I certainly was not a 1337 h4x0r. But having dispelled a lot of those fears, my advice now is to lean into developing technical skills when possible. After all, if you're using a tool for 8 hours or more a day, you want to make sure you get the most out of it. In today's age, there is almost no upper limit to how many times more effective you can be by developing these skills.

Start by diving deeper into the tools you use everyday. If you're in consulting, learn everything you can about PowerPoint, understand how a pro would use the tool. If you're in finance, become a true expert in Excel. How does a pivot table really work? How should you be structuring your data knowing that? You might already be able to accomplish what you need to do day-to-day but after you finish some task, at least mentally challenge yourself to do it in half the time, or at least half the keystrokes. Learning new skills like how to train a neural net for the sake of it can be fun and temporarily motivating but the skills quickly disappear without a good use. Gaining mastery of your existing tools on the other hand turns you into an everyday superhero and lays the foundation for future learnings[0]. You'll know you're on the right track if you find yourself cringing at your past work.

When trying to learn more typical coding skills, apply a similar pattern: start by automating things you are already doing to make things less of a grind. If you're on macOS, open up Terminal and start learning the basics of Unix/bash, if you're on Windows, start with PowerShell. While moving files, creating directories, and renaming things doesn't sound sexy, these are the basics that you will actually benefit from while learning.

At some point, you may realize that getting more technical stops being interesting and feels like a bad use of time; perhaps you want to go into management or more business-focused. Just be aware that there is an asymmetry: it will be a lot easier to go less technical than it will be to go more technical, a fact which I can personally attest to. Having a bias, however small, towards going more technical will help you avoid getting the point where you can no longer really "do" and can only manage. As long as you focus on what's useful to you, the investment will pay off long into the future. "Computers are the bicycle of the mind," as Steve Jobs famously said, so time to get riding.

[0] I still attribute PowerPoint's Slide Master to shaping my understanding of abstractions and inheritance in Object Oriented Programming.

Relentlessly pursue learning.

Published Aug. 6, 2021

Relentlessly pursue learning. What you learn is less important.

If I could only give one piece of career advice, this is it. Since graduation, this constant (if inconsistent) desire to continue to learn is what I'd say has distinguished me from my peers. The only reason this is not number one is because you already know you should be doing this. So instead I will try and motivate the why as opposed to explain the how, for the latter I highly recommend Barbara Oakley's course. The big secret that no one believes is that by focusing on learning, you incidentally end up achieving the more traditional goals you may be occupied with. This does not go both ways! Media conditions us to believe that if you are driven by wealth and prestige, you will self-improve your way there. But consistently the wealthiest people I have met, especially when controlling for background and age, are all intensely motivated by their own curiosity.

By focusing solely on learning, you free yourself up from the political games and posturing. The vast majority of people I've worked with are far harder workers than me both in hours and energy. I can't count the number of times I have stayed in the office a couple hours extra to do some coursework and still left before my team, working to complete some soon-to-be-forgotten slides. These are the same people who inevitably find they lack the energy or time to pursue learning, ironically opting to focus on "career". If this is you, make a hard stop. Grinding at work to earn the next promotion will always make sense in the short-term but squash your motivation for long-term development, and nobody will stop you from making that trade-off. Put in the additional hours for work insofar as it overlaps with learning something interesting, optimize for the short-term when it synergizes with the long-term.

In math terms, learning is highly non-linear and thus really difficult to keep motivated in a regular way. If you've ever been toiling on a problem for hours only to have the solution seem glaringly obvious the next moment, you've experienced this nonlinearity. Hustling at work, on the other hand, tends to feel much more linear: grind a little bit more, get a little more work done. Our brains get linearity, our brains like it. You could nonlinearly struggle your way to an elegant solution to what you're working on but that could take days or weeks, and you could just brute force it in a few hours instead. Do you optimize for the short-term or the long-term? Zooming out, this nonlinear learning function turns out to be exponential, and if you zoom out far enough, an exponential will eventually outpace any linear function.

What you are learning is less important than learning something of interest to you. People often feel guilty or stressed about not committing to learning what they "should" be learning but this is really just a more subtle extrinsic motivator. It surprises some people to learn that I read fiction and yet I probably read more novels than everything else combined. When I talk about pursuing learning, I mean simply mean actively pushing yourself out of your comfort zone. The beautiful thing about knowledge is how it builds on itself even across domains, a fact which is doubly true if you focus on first principles and intuition. Don't get so caught up in trying to learn the right things, just apply whatever it is you're learning as broadly as possible.

It is okay to not always have the energy to learn (I certainly don't) and at times there will be more important things to worry about. But if you find yourself lost about what you want to learn or worse, have no desire to learn, take a step back and start small. Try looking up the recipe for that new dish you've been meaning to cook; try skimming the introduction to that book you've been meaning to read. Or, my favorite, ask a friend who loves explaining things about something they learned recently and drill them with questions. Try to find that spark of curiosity. If you've read this far then the kindling is already there.

Ignore compensation until the final interview, obsess about it until you sign. Repeat.

Published Aug. 4, 2021

If you take the last piece of advice seriously, compensation should be an afterthought when figuring out what you want to do. It's hard enough to figure out what you are interested in and find a role that matches your interest. Optimize with only that in mind and you minimize the chance of day-to-day misery. Switching roles primarily based on compensation (or prestige) is socially acceptable self-sabotage. If you're unlucky enough to succeed, you will quickly realize that there are still people making multiples of what you're making and the insecurity that drove the initial move will resettle.

It's important to realize that salaries are almost completely meaningless in the abstract as a measure of success. Pause to think about this for a moment as this is not a commonly held view. What can you say about an engineer, a teacher and a chef, all of whom earn a salary of $60k? Are they all equally successful? Is a loan shark earning $120k twice as successful? Is an artist earning $30k half as successful? You may have some moralistic or value judgements here but ultimately questions like this have no real answer, your perception of success is a mirror onto your values. If your values center around extrinsic things such as titles and salary, you will fail to realize them in a lasting sense. Play stupid games, win stupid prizes. With that belief, put compensation out of your mind. On 99% of days, your ability to make a direct change to your compensation is nonexistent. As the Stoics said, there are things within your control and there are things outside of your control, focus only on the former.

That said, there is the other 1%. These are the days in which you are shaping performance review discussions or negotiating offers. In these situations, obsess about the money. The hard dose of reality is that nobody will advocate for what you think is fair, the onus is entirely on you to (tactfully) petition for what you need. There are many great resources on negotiation so I won't cover specific strategies. Just know that all comp numbers are in some sense arbitrary. This does not mean that anything is possible, but this does mean that there is always room on the table to get more. Ask people in the role for their comp numbers if you can, most people are willing to share details if you ask for the right reasons. If you don't know anyone, scour the web for comp at similar companies, similar roles, or more senior roles and determine the absolute upper bound of what is truly possible. Negotiating for yourself is never going to feel comfortable, being obsessed helps you push through that discomfort. At the end of the day, you may still not get what you want; it's okay to not be excited about a role because of comp but make sure you weigh that against the initial excitement that got you to an offer.

Most importantly, make sure that once you've signed or settled performance reviews, repeat. That is, ignore compensation until the next 1% window. Salary can be an effective measure of your success in a given pursuit over time but optimizing for money is the ultimate trap. As captured elegantly by Goodhart's Law:

When a measure becomes a target, it ceases to be a good measure.

Never take a role which you're not excited to perform.

Published Aug. 3, 2021

Never take a role which you're not excited to perform. Excitement about future prospects doesn't count.

This advice can be broken down into roughly three imperatives that all try to capture the same thing. First, don't apply to roles that don't excite you. Early on, when you're still trying to figure out what it is you want to do and what jobs are out there, this will seem impossible. The best way to combat this is to take advantage of the infectiousness of excitement; for roles that you think you are interested in or roles that you are eligible for, try talking to at least one person in that role. The more similar this person is to you, the more infectious their excitement will be. If you're in school, try to find a recent graduate. If you're coming from an atypical background, try to find someone with a similar background or just some other atypical background. Your goal is to get a sense of what excites this person about the role and see if that, in turn, excites you. If you're still not excited, consider a new field of work.

If nothing seems appealing, as is often the case, step back to think about which activities most easily drop you into a sense of focus or "flow", that feeling where you are totally committed to working on something, where stress and a sense of time kind of fall away to a sense of alertness. Don't confuse this with having fun or feeling joy, you're unlikely to find a sense of flow hanging out with friends or watching TV. Again resolve to try and talk to someone making a living doing that thing to see if that excites you. Eventually you'll find something that excites you.

Second, don't sacrifice excitement about the current role for the prospect of a future role, this is one of the most surefire paths to misery. The characteristic thought pattern here is something along the lines of, "Yeah, this isn't really my top choice but I think it's fine and in 2 years, I should be able to pivot to X." Taking a role under this pretense sets you up for a lot of anxiety around performance with none of the intrinsic motivation required to perform at your best. Starting down this path is a slippery slope as 2 years down the line you will find yourself making the same choice, and 2 years after that, making it again. Each sacrifice for the future compounding your misery in the present. Focus on the present and let the future come to you.

Finally, really bask in the sense of gratitude and accomplishment that comes from receiving an offer. Let yourself be excited, don't trivialize the achievement. Too often, we whittle away that sense of excitement by immediately considering downsides, weighing the next moves before we've taken this one. Even a brief moment to breathe a sigh of relief and internally celebrate the accomplishment can have a profound effect. Be grateful, be excited! You've earned it. Sometimes, it can be enough to just be excited about landing a job. For the entire year between accepting a job in consulting and starting, I remember having a great sense of excitement, perhaps mostly driven by a sense of relief. I would often get questions I thought completely irrelevant such as, "What does one do in consulting?" or, "What are you consulting for?" Of course I hadn't the faintest clue to the answers but boy was I excited.

Interview widely, get multiple offers, and negotiate like hell. Or don't.

Published Jul. 30, 2021

One of the most common pieces of advice is to not get too emotionally invested in one company or job. There are many reasons, often out of your control, that determine whether or not you may receive an offer. Even if you have some roles you are especially excited about, it's important to realize that on some level job hunting is always a numbers game. Having multiple offers in hand allows for leverage to boost compensation and optimize for the best fit. This is all extremely reasonable advice that I regularly give. That said, I have confession to make:

I have never had more than a single outstanding offer in hand.

Not for lack of trying mind you, I have cast a wide net many times, especially in college. I have just failed to get more than one at a time which has led to my decisions being fairly straightforward.

This is fine! I would even go so far as to say this is expected if you keep pushing the boundaries of what you thought possible. You don't need to have multiple offers to make a decision and it would be counterproductive to let good open offers expire solely to get more options or leverage.

In a famed study of amnesiac patients, it was found that participants given a Monet print with the option to come back later and swap out the print not only liked the print they chose less than those who just had to stick with one, but grew to like all of the prints less! The moral is to avoid pursuing lots of offers as the end goal, the moral is to interview widely with the intention of finding at least one offer that is right for you. As an upward stumbler, I assure you that all you need is one.

Career advice from an upward stumbler

Published Jul. 29, 2021

These days I find myself receiving more frequent requests for career advice. A part of me is excited to share the wisdom that I wish I knew at a younger age. But a part of me also feels like I'm not in a position to give advice, that I have somehow ended up where I am through a series of Indiana Jones temple escapes, juuust making it to the next step by the skin of my teeth or as a friend eloquently put it: stumbling upwards. On the cusp of another career move, I think it's time to reckon with this in a series of posts on my journey and advice I would give.

After wracking my brain for advice that would apply to everyone, I realized that this would inevitably please no one. Career decisions are inherently personal and for career advice to resonate, there needs to be a personal connection. So what follows will be a very personal recollection of my journey and the specific advice I would give to people interested in going down a generally similar path. It's up to you to decide how much is meaningful to you.

My career journey

It is really easy to rewrite history and make your career path sound almost inevitable given your wit, grit, and charisma. In panel discussions or interviews, you'll hear interviewees recite well-crafted origin stories where their determination or ingenuity kept pushing them through every step. For me the journey has certainly not felt like that. To give you a sense of what it has felt like, I've documented my career moves by age and what I think were the most import factors in landing that job. Though do note that after age 19, the single biggest factor was the accumulation of past experiences. I chose not to belabor this point to avoid repetition, not for lack of significance.

  1. 18: blind luck, maybe high GPA
  2. 19: nepotism, maybe moderate GPA
  3. 20: lucky timing, moderately high GPA
  4. 21: moderately high GPA, interview prep, memorable questions
  5. 24: networking, referral, interview gaming
  6. 25: unusually aligned experience, referral, love-fueled determination, interview prep
  7. 27: interview prep, interview gaming, networking

If you're young and this seems woefully unimpressive, that's good. Most outwardly successful people I know have similarly unheroic backstories. The lesson here is that though things may seem tough early on, compounding experience and skills will lessen the role of luck over time. Regardless of what age you're at now, realize that the first couple breaks will not be glamorous and things will feel impossible—push through, things will get better.

A clock without batteries

Published Jul. 26, 2021

One of the unexpectedly best lifestyle changes I've made in the last couple years has been to sleep better. Practically speaking, this is the cumulation of a few different changes: cutting out caffeine, keeping lights dim after dark, less drinking, etc. But none have been as immediately gratifying as going to bed without an alarm.

If the thought of this sends a jolt of anxiety through your body, then you are not alone. Surely you'd miss your morning meetings, or that early appointment. Maybe without that palpatation-inducing alarm, you'd just continue in an eternal slumber. Whatever the outcome might be, it's certainly not going to turn out well. But as mystical as it sounds, your conscious fears manifest into an impressively accurate subconscious alarm.

Have you ever had that experience where there was some looming thing you had to wake up for? The kind where you set two alarms and asked a friend to message you just in case. For me, this was every exam or midterm scheduled before 11:00 am. If you're anything like me, what actually happens is that you find yourself suddenly wide awake scrambling to find your phone in a panic, certain you've doomed yourself—only to realize that it's 3 minutes before your alarm was set to ring. Phew.

After the nth time of this happening, I realized that the precision of my internal clock was a lot higher than I was giving it credit for. As long as it was on my mind to wake up at a certain time before going to bed, I would wake up at almost exactly the right time. The more stressed or concerned, the earlier I'd awake. And without some urgent stressor and a reasonably regular bed time, I found myself waking up within a 15 minute window completely naturally.

So why bother with no alarm if I'm waking up at the right time either way? It wasn't until I read Why We Sleep that I knew why I felt so much better from those extra few minutes. As we've all heard, sleep consists of many different cycles. Naturally, we wake at the end of a cycle when the restful benefits have been complete. With an alarm, we abruptly awaken mid-cycle, disrupting our rest and also catching us before the adenosine and cortisol mix makes us feel awake; thus the familiar desire to immediately hit snooze. Secondly, the alarm itself physically induces a mild shock, like a voluntary choice to have someone startle you awake. Over time, this more insidious effect results in increased risk of heart disease. Not a great double whammy.

If any of this sounds compelling, I'd urge you to give this a shot whenever you don't have any early meetings. If you find yourself sleeping in, great! That is your body in no uncertain terms telling you that it needs the rest. After a few days you'll notice a very regular rhythm emerge and early meetings to be subconsciously handled. And more importantly, you'll notice just feeling refreshed first thing in the morning instead of a cloud of brain fog. Now don't get me wrong, this approach is not bulletproof: if you're crossing timezones or going to bed at 3:00 am, you may still need an alarm. But hopefully you come to think of an alarm as exactly that, an emergency tool like a smoke alarm or fire alarm. The ultimate sleep alarm turns out to be dynamic, silent, batteryless omnipresent, and made of soft tissue. You just need to let it run.

Serendipitious Sunday

Published Jul. 25, 2021

The day started off with an unfortunate time warp. Not the cool, Steven Hawking type thing where you're left perplexed about our limited understanding of the complexities of space-time. No, this was of the "pick up your phone first thing in the morning and jump forward 2 hours in time" variety. After finally convincing myself that lying in bed for even longer would not initiate a temporal pincer, I decided to commit my Sunday to the usual chores: laundry, cleaning, cooking.

After realizing that those three activities do not consume an entire day's worth of time, I resolved to bike up to a new park to read a little bit before stopping by a food truck recommended to me. Cue some weird Willy Wonka music...

As I lay on the grass, ready to crack open my book, I look up to see two men decked out in gear swordfighting. Yes, swordfighting. Now mind you there was more hard foam than metal but nevertheless, these gallant heroes were pirouetting, parrying, and hacking away at one another, from time-to-time "losing a limb" or suffering a noble defeat. Not your average park day.

After taking in the parkland version of Medieval Times for 30 minutes, I decided that I would bike around the rest of the park before finding somewhere a little less distracting to read. I bike past what looked to be a road hockey rink with what looked to be golf clubs in the fence and am suddenly asked, "Hey! What to come take a couple swings?" Not wanting to miss an opportunity to join the local Swingers Community, I inquire further. It turns out that I had walked into the local Bike Polo league's Sunday meetup. Now call me sheltered or uncultured but this is not something I had ever heard of in my life. Badass technical cyclists with semi-armored bikes darting around a hockey rink with mallets trying to hit a hockey ball into a net. Intrigued? Very much so. Interested in participating? That's a no from me dog.

After chatting with the local LARPing (as I came to know the swordfighters were called) and bike polo community, I decided to continue on to my original destination for some simple Italian food. Getting there and taking one look at the menu, fate called out to me in the clearest of voices, "Order the eggplant olive oil cake." And so, naturally I ordered what could be the weirdest idea for a dessert cake I had ever heard. Review? 10/10. While I don't know the next time I will run into caramelized eggplant topped with a rich olive oil whipped cream, I do know that I will certainly not pass it up!

Satisfied with the novelties of the day and needing to pace myself through this eccentric dessert, I finally get back to my book, forlorn amidst all the excitement. I'm sitting on a patio, wondering what strange plotline Murakami is spinning with single-horned beasts in modern day Tokyo. And right beside me on this restaurant patio sits a cute couple with an old little lapdog, an even older poodle thing, and a horned creature the size of a great dane. This couple had brought their pet goat to the restaurant. Their pet goat! After inquiring, I learned that this was the only one of their four goats that was well-behaved enough to come out for dinner tonight... Because of course it is.

While the day is not done yet, I can certainly say that this was more than I bargained for in the best way possible. Sometimes I find it incredibly lonely to travel around alone and question whether I've made a grave mistake. And then I have days like today which remind me of the beauty of going out into the world alone, with no expectations, and an open mind. May Sundays always be so serendipitious.

Aggregations inside window functions

Published Jul. 24, 2021

I wrote recently about the path of learning SQL and I wanted to take a little excursion into what step 6 can look like. In that recent post, I provided examples of when one can use window functions. We generally want to compare things between days or some other aggregated measure. Unfortunately, as anyone working with data knows, the source data is often at a transactional level with many many records per day. This problem is easily handled by CTEs: first we aggregate our records by day as a CTE and then we apply the window functions to the aggregated CTE. But, did you know that this can (in most SQL engines) be elegantly and concisely written without the use of a CTE? Let's take a look at an example.

Let's say that we have a table of temperature recordings and we want to compare the change in daily highs. We have a table temps that records the time and temp at given reading. And because we are sane and sensible, we record our temperature in Celsius.

time temp
2021-07-01 12:14:42 20.0
2021-07-01 17:01:14 25.0
2021-07-02 06:08:22 18.0
2021-07-02 20:00:11 23.0
2021-07-03 04:39:21 14.0
2021-07-03 11:30:00 21.0
2021-07-03 22:09:43 18.0

The first step would involve figuring out the max temperatures for each day.

SELECT date_trunc('day', time) AS day, max(temp) AS max_temp
FROM temps

Which gets us:

day max_temp
2021-07-01 25.0
2021-07-02 23.0
2021-07-03 21.0

Now with a little window function wizardry, we can compute our day-over-day change.

WITH daily AS (
  SELECT date_trunc('day', time) AS day, max(temp) AS max_temp
  FROM temps
       lag(max_temp) OVER(ORDER BY day) AS yesterday_max,
       max_temp - lag(max_temp) OVER(ORDER BY day) AS dod_change
FROM daily

Which gets us:

day max_temp yesterday_max dod_change
2021-07-01 25.0
2021-07-02 23.0 25.0 -2.0
2021-07-03 21.0 23.0 -2.0

All is well and we have what we need. But we can do better than that!

SELECT date_trunc('day', time) AS day,
       max(temp) AS max_temp,
       lag(max(temp)) OVER(ORDER BY date_trunc('day', time)) AS yesterday_max,
       max(temp) - lag(max(temp)) OVER(ORDER BY date_trunc('day', time)) AS dod_change
FROM temps
day max_temp yesterday_max dod_change
2021-07-01 25.0
2021-07-02 23.0 25.0 -2.0
2021-07-03 21.0 23.0 -2.0

Slick! If you look carefully, all we really did was sub in max(temp) and date_trunc('day', time) into our window function where we previously had used the aliased fields max_temp and day respectively. This nesting can look quite confusing at first, especially if you start doing things like sum(count(*)) OVER() to get the total count of records by day but I think it is wonderfully clear when you understand what's happening.

Like all things, practice makes perfect. Don't expect to get this right the first time. But next time you see this pattern of aggregation then window function, stretch yourself and see if you can do it in one shot. Who knows who you can become with all the extra time saved from writing those 5 extra lines of code!?

When to use window functions

Published Jul. 24, 2021

Learning SQL is often a 6-step process:

  1. Learn the basic syntax to manipulate a single table.
  2. Learn how to join in additional tables.
  3. Learn the basics of window functions.
  4. Really learn the basic operations.
  5. Really learn how to use joins.
  6. Really learn how to use window functions.

One of the first barriers I ran into was in step 3, trying to wrap my head around window functions. Fortunately there are many great resources that provide in-depth explanations of how window functions work which certainly helped me in getting to step 3 and step 6. But I want to focus on perhaps a more important aspect of getting to step 3: when should I even use window functions? What types of problems will they help solve?

Fundamentally, when thinking through any SQL problem, one must think in terms of records. What information does each record in the table represent? Do I only care about certain records? Time to think of the WHERE. Do I need records from a different table? FROM clause. Do I care about records in aggregate? GROUP BY clause. Do I only care about specific groups? HAVING clause. The vast majority of the time, this basic syntax will get me what I need. By thinking very carefully about what I want to happen to 3 or 4 records, I can get a sense of the shape of my final query.

However, sometimes when breaking down a problem, I run into a roadblock: what if I need information from some other records to compute information about this record? For example, let's say I have daily records of the weather, what if I want to compare today's record against yesterday's record? Running through the list of basic SQL clauses, I realize that none of them quite solve this problem. Enter window functions. The biggest clue to use window functions is when you need to pull information from other records, into this record.

Okay... Well when is that? Since that statement is a little opaque, let's think of a couple examples and break down how they fit the criteria.

Hopefully these examples give you a better picture of when window functions are the right tool to use. They may not be something you use everyday but when you inevitably run into this inter-record problem space, they really make your life easier. As a fun aside, know that all window functions could be replaced by a single CTE and join, which is how these inter-record problems were solved up until recently. Once you start to feel a solid footing on step 3, try replacing your window functions with joins to start the climb to step 4.

Write differently

Published Jul. 22, 2021

Fret not my worried readers, I have not given up on #100DaysToOffload. After a brief few weeks of vacation, I had indeed resumed writing regularly, perhaps even moreso than I had before. Where are the articles you may ask? Are these on a separate blog or column!? No, faithful readers, I would never betray you like that. For the past couple weeks I have been writing plenty of code!

What always strikes me is how elastic the brain can really be. Ever gotten back with an ex? Picked up a bike after a few years? Or even just started to read again? After a few uncanny minutes, your brain suddenly goes "brrrr" and snaps back into a rhythm. Writing for me — well, yeah it's the exact opposite...

Perhaps I have not written enough in my life but after finding a good rhythm the elastic in my brain snaps back to not knowing how to write a clean sentence. And with writing arbitrary code, it's even worse. But fortunately, the elasticity goes both ways. After some practice problems and leetcode to get over the basic syntax struggles, things start to click again. My brain suddenly digs up that buried knowledge on recursion and linked lists and big O! The "brrrr" starts again.

My goal with writing is to change that default. Yes I'd like to get better, and I think I am. But what I want most is to remove that pain, that fear of picking a skill back up after ignoring it for a while. So with most of the coding out of the way, I hope to return to the regularly scheduled programming.

The best explanation of middle class

Published Jul. 6, 2021

Consumerism, conformism, and anxiety. These are three words I have tried hard to avoid in recent years. And yet, after watching this excellent video essay by J.J. McCullough on What is Middle Class?, I can say that these three words truly capture a lot of the culture I find myself steeped in, for better and worse.


Getting super identified over specific brands? Check. Finding pride in little material luxuries? Check.


One of the things I have struggled with is the tension between wanting to achieve "greatness" and finding gratitude towards with the simpler things. The idea that this tension between achieving individuality and reaching common goals is a "middle class" idea is an interesting one. It makes me wonder what individualist goals the other middle class immigrant families I grew up around were trying to achieve.


Wow do I remember the social anxieties experienced growing up. Careful deliberation around which tableware to buy, especially the useless ones meant only for display. And the strict adherence to avoiding the slang that my parents would use when talking to friends and family; having children speak in slang is, of course, a sign of being low class.

I find so much of my introspection these days attempts to wholesale reject these characteristics that are so emblematic of the world around me. My real takeaway from this video is that it is possible to appreciate middle class culture as what it is, without adopting the values as my own. Perhaps one day, I will be able to let go of some of these values more completely. But until then... Coke over Pepsi, PS over Xbox, and Mac over PC any day — come at me.

For whom to blog

Published Jun. 28, 2021

tl;dr definitely me, and sometimes you

Before starting to post more, I was very cognizant about who the target audience of my posts was. If nobody wanted to read it then why write at all? And what did I have to say that was both original and additive to a topic? This naturally created a very high bar which resulted in many interesting thoughts that I dismissed entirely and a few other thoughts that I had thought through in many ways but felt I couldn't polish enough to justify a post. The result? A blog with only a single post and no readers.

While discussing a slanderous blog post on the New York Times with a couple friends, I found the author's message to "just write" really hit home. Quality, correctness, and originality be damned, Rhinehart exhorts, "Write what you want to write. Write what you really think. The truth will come out." Amusingly enough my overall impression of the article was that it was poorly written and quite rambly, but that was the exact point! Despite my negative stylistic review, it had sparked a great discussion about the merits of mass media and journalism and left our little group with a great new meme about catching "octopus brain". And the beauty of it is that this article was written for no one but the author.

I see my blog as some version of this. Most of what I write are personal meditations that I like to put into the digital aether. The advice and prompts are really written for different versions of me. Realizing and remembering that liberates me from the need for perfection or to keep an audience in mind.

Hopefully these musings resonate with you in some way or another. If you think it sucks, that's great! Write about it and send me a link, or let's chat about it on our next call. If you think it's great, do the same. I see any additional thoughts outside of my own to be gravy on top. And if one of my poorly written, rambly articles sparks a discussion for your friend groups then consider me sincerely honored.

Disney, Grimm, and the Holy Scripture

Published Jun. 9, 2021

The moment I first learned about Grimm's Fairy Tales, I was floored. Having grown up watching boxes of old Disney VHS tapes, I had come to believe that all children's tales followed the whitewashed arcs accessible to even the most coddled children. And while I still think Snow White and the Seven Dwarfs is a beautifully animated and fun movie, it's just not quite the same knowing that the stepmother's original intention was to harvest Sneewittchen's organs for consumption.

Recently I have been having the same experience going through the Old Testament and realizing how R-rated it is compared to popular references and interpretations. My preconceived notion was of this old stuffy book filled with draconian rules that nobody really follows — and in some ways that is true. But what they don't tell you is that the overwhelming majority covers the spectrum of life that I guess was typical for 1500 BC; including numerous genocides, rapes, kidnappings, and instances of human trafficking.

What they don't tell you is that the story of Samson is as much about his philandering as it is about his strength. That Noah gets wasted and presumably fondled by his son after saving life on Earth. Or that the story of Moses is as much about massacring the native Canaanites for a land grab as it is about freeing the slaves from Egypt.

While these stories are beyond the pale today, they portray a far more believable and ultimately compelling narrative of how a religious identity is formed. The need to unify around a Founding Myth and to execute on it at all costs becomes clear only in relation to the contemporary alternatives. And the suffering and misery that follows from a failure to adhere to the ideals are what reinforce the message.

Colored by those early Disney movies, my expectation was that these stories were filled with white knights overcoming some singular tragic flaw to save the people from the obvious tyrant. But I'm glad that it is turning out to be more Sneewittchen than Snow White — the tales of envy, revenge, and petty ambition are as relatable today as they were then. Despite more than 3000 years of wisdom handed down from cultures across the world and unbelievable material wealth, it seems the human condition has remained unchanged.

Food for thought

Published Jun. 6, 2021

Imagine a delicious plate of pad thai, fresh and ready to eat. You can smell the peanuts and chili powder. You can see the steam rising as you prepare yourself for the first bite.

If you're like me, then this thought probably elicited at least somewhat of Pavlovian response. You probably have at least a little bit more saliva at the ready for the pad thai that's not there. No worries, we can just swallow the extra saliva and move on with our day. Nothing weird about that last bit, right?

Now instead imagine spitting that extra saliva into a clean cup. And imagine swallowing the saliva from that cup. Yeah... Bleh.

What is it about these two acts that elicits such a different response from our brain? By all reason we should be pretty much indifferent between these two acts. Yet despite all our enlightened faculties, some deep primal disgust cannot be overriden. How strange our neurochemistry is, and how poorly we understand it. Next time you feel disgust or revulsion, pause to think about; it's likely you do far more disgusting things on a daily basis.

Book club basics

Published Jun. 5, 2021

As a painfully honest joke in consulting went, "Do something once and you're sold as a practitioner, do something twice and you're sold as an expert." Recently, I became an expert in book clubs. Based on that expertise and extensive market research (discussions with friends), I am here to publish some best practices on how to conduct your own book club.

That's all the time I have today for pro bono expert advice. Please reach out to me for additional hourly consultation. Results are not guaranteed but slides are.

Cringing at your own work

Published Jun. 2, 2021

At a recent talk at work, the speaker off-handedly mentioned something that stuck with me:

If I don't look back at my work a year from now and think it was crap, then I should probably be in management.

This guy is currently an individual contributor (IC) but had spent enough time as an engineering manager that this comment was not entirely tongue-in-cheek. The idea is that ICs should be improving themselves sufficiently to question previous work. In my conversations with other ICs, I have found this to be almost universally true. The more ambitious the person, the more crap things look in hindsight!

I first noticed this almost exactly a year after starting full-time work. From slides to presentation style to spreadsheets, I cringed at almost everything I had put out. One year later and that still held true. Whether it's in the approach taken or simply the speed of execution, the glances in the rearview mirror continue to be ugly. Progress is a funny thing.

Now in some ways this might seem obvious. Absolute improvement in a given domain probably follows an S-curve and if you're working across different domains, you're almost guaranteed to be in the exponential section of at least one of those S-curves. Despite knowing that in the abstract, it's hard to feel detached from your current work right now. Even if I hope to look back and pick apart all the ways in which my work was crap, I would be absolutely devastated to have someone else say that to me at this moment. Our egos cannot take the criticism in the same way until we've achieved some distance from work and become more confident in who we are.

That said, thinking about this in the abstract helps feel at least a little bit better about critical feedback for my current work. And if that stops being true then hopefully you're reading the musings of your future boss.

How not to exercise

Published May. 31, 2021

We are often reminded these days to treat ourselves. Books and studies around habit forming will recommend positive reinforcement of good habits by rewarding yourself for each positive behavior. My newest bad habit shows that taking this mantra too seriously is like taking 2 steps forward and n steps back, where n represents a number which I don't want to think about. The initial objective was to explore the new cities I'd moved to and get myself out for some longer walks or bike rides. Fresh air and exercise, what could go wrong?

To incentivize myself I set some destination point for some new treat, usually a donut or ice cream shop at least half an hour away, to act as a reward for accomplishing this goal. This worked to great effect and had me exploring all around nearby neighborhoods all for the cost of some spent calories. Unfortunately, it turns out that my brain's sugar response was a bit too powerful for this to be sustainable. I soon found my Pavlovian response kicking in every time I would leave the house for anything. Out for a grocery run? Hmm isn't there a donut shop a bit further down the road? Chatting with a friend on a walk? Oh, might as well grab some fro-yo.

In an attempt to justify my behavior, I propose a thought experiment: Who is likely to live a "healthier" life? The man doing regular, intense exercise and crushing two scoops of ice cream and a decadent donut every day? Or the man living a relaxed life, never exceeding 60 bpm heart rate, with not a gram of sugar in his body? Let my tombstone show that I undertook these endeavors with all the gravitas associated with such a scientific endeavor, for who could argue that there were any other options left to take?

RIP Mash

Pains of jankiness

Published May. 30, 2021

How easy it is to forget the pains that come along with trying to DIY everything.

Just when I thought I'd started to wrap my head around some of the finer points of configuring Vim just the way I like it, I was hit with a painful roadblock. While trying to write a Python script, I noticed that despite the syntax highlighting working as expected, nothing I do could get the indentation right. Unfortunately indentation is far from superficial in Python meaning I would have to install some new plugin to autoformat things and fix whatever was broken — not exactly how I wanted to spend my Sunday.

Flash forward two hours later and it turns out all of this fuss was due to a buggy if statement in my .vimrc, bleh. Did I learn some new things? Yes, I suppose I now have a better appreciation for how Vim handles filetypes and indentation. But the real lesson here was one high school teachers tried to hammer home a long time ago, don't copy random (.vimrc) files from the interwebs without knowing what they're doing. A reminder for future me that it's better to focus on understanding the basics instead of FOMOing about the fancy stuff.

What is worth crying about

Published May. 29, 2021

We take it for granted that our ability to see colors and hear pitch make our lives richer. We would lament the loss of our ability to see the color green or our ability to hear a clear C; trees would lose their majesty and songs their beat. Yet we willingly deny ourselves the opportunity to cry. "Men don't cry" the saying goes and with it goes a corresponding richness of experience.

For the majority of my adolescence, I cried only in the most extreme situations of stress. In my suburban upbringing, this was fortunately tantamount to girl troubles and feelings of loneliness. After my freshman year in university, my zone of tears started to expand to the occasional movie. If you don't shed a tear at Robin Williams's recollection of holding his dying friend on the battlefield and watching his wife wither away from cancer in Good Will Hunting, you are some kind of monster. While small, this departure from crying from personal stress to crying for something beyond me felt different, like something new had been unlocked. While I would experience these empathic tears more fully on some subsequent MDMA trips, I still could not shake the embarrassment that followed every episode, that I had transgressed some tenet of manhood.

That changed almost overnight after my unexpected empathy training. I found myself brought to tears by the book I was reading at the time, Flowers for Algernon. I didn't make anything of it at the time, if you didn't cry reading the last few journal entries, you are some kind of monster. But then it happened again with another book. And another one. And then by a new song I had listened to. And then again... Now keep in mind that this was not some sort of mental breakdown where I was crying everyday but this certainly felt like a departure from the handful of times I had cried in the past decade.

I didn't feel any weaker than before. Emotionally speaking, I felt more secure than I ever had in the past. No longer was crying a source of embarrassment or shame, but just a natural expression of really connecting with something — I was seeing a new color to which I was previously blind. Of course my old purposes were still served, I would go on to cry plenty about my upcoming girl troubles. But now I would also cry for troubles never faced: wars never experienced, loved ones not yet lost, valuable friendships still standing. What a color this was.

If you're reading this and you're skeptical, I hear you. This is admittedly somewhat beyond the pale. But I would encourage you to think about the things in your life and reflect on their value. Consider that your next meal will be the last one you ever eat. Or that time hanging out with your friend will be the last time you see him. Or that last goodbye you said to a loving parent will truly be the last. Reflect that as far fetched as these may seem, one day they will all be true. If it is okay to shed tears to mourn their loss tomorrow, then it must be okay to shed tears to celebrate their existence today.

Why learn history?

Published May. 28, 2021

Looking back, this question has had many different answers at many different times in my life. While most people will state with absolute certainty their current reason for learning history, there is often far more nuance. And with the constant battles to propagandize school curriculums one way or another, it's worth being clear on what the goal is.

My earliest recollection of learning history is in fifth grade. We covered ancient civilizations (i.e. Egypt) before spending the rest of the time on the Middle Ages in Europe. The purpose was to get a sense of how human beings, just like me, had for many many years lived vastly different lives; going so far as to dress up and roleplay different characters in a medieval banquet (I was a nobleman of course). This broader cultural awareness can be powerful and is often a discount version of the benefits of traveling as a child.

After that began the long arc of Canadian history. Starting with voyageurs and the fight for Canadian independence in grade school, taking a weird detour into residential schools in early high school, and culminating in Canada's involvement in the World Wars and the definitely-pivotal-and-totally-earth-shattering Battle of Vimy Ridge. In hindsight, I realize that this whole curriculum was designed to build up a national identity in teenagers starting to discover themselves, to really instill a sense of Canadian pride with values such as humility and courage. History became a tool to impress upon me the values of the society I was growing up in; an empowering experience if done right and a catalyst for bitter conflict if done wrong.

Throughout this period, my contemporary self never really questioned the value of learning history. The reason was clear: learning history, like keeping up with current events, was the entry ticket to the intelligentsia. It was a way to feel superior and knowledgeable. History, news, and politics were the trifecta for qualifying as a learned adult. While that reason didn't last, it did at least serve as an entry ticket to a seat on our school's Reach for the Top team, catapulting me to instant fame and generating unbounded sex appeal.

After high school, upon realizing that there were armies of people more knowledgeable than me, I was left to fill my panicked insecurity through other intellectual flexes. And thus, my relationship with history changed again. The little history I would come across was purely for entertainment. As true crime has proven over the past couple of decades, historical events can capture the human psyche more completely than even the best Agatha Christie novel. In such a way did history, in the form of The 300 Spartans or the drama of the Middle East, persist in the peripheries of college life.

A few years later I crossed the final threshold of human awakening: paying taxes. History then became a powerful tool to backtest different systems of governance and life. A way to try and answer why Canada had adopted certain social systems while the US had adopted others. And while we should be cautious about trying to extrapolate the benefits of shogunates in 21st century California, learning history does help glean potential consequences of communism or fascism.

I realize now that there is no best reason for why we should learn history. I urge you to pause and reflect on why you think it's valuable. And what part of that value you want to pass onto children, keeping in mind that curriculums are zero-sum. Are we trying to teach different perspectives or are we indoctrinating? History repeats itself, but we should be careful about what we want to repeat.

Joy of jankiness

Published May. 21, 2021

As my blog posts continue, I realize that having every single post in its entirety on on page will not scale. It's difficult to read through earlier posts, there are no previous or next links. There are no tags to organize for the different topics. Fixing any of these problems poses a non-trivial challenge considering my static site generator is composed of a single bash script. And yet, in spite of (or perhaps because of) that jankiness, I love my site.

There is something special about simplicity and understanding. While I could have easily solved all those problems with a WordPress site, I would have lost all the pain and struggle that came with figuring out how to add a simple link to my nav bar. I would have lost the joy that comes with cooking your own meal, building your own computer, or even changing your own oil. It doesn't matter how simple or mundane the task is, it matters that you are closer to mastery in some small domain. With every big push in tech to outsource everything, from couriers to deliver food to personal assistants to answer emails, we get further from this general mastery. Further from the master-of-all-trades Renaissance man of old that we idealize.

Refuse the conveniences, take a peek under the hood, and focus on the bare minimum that you care about, and tackle it from first principles. This is how to find flow, this is how to gain mastery.

As things scale, I'm sure I'll learn why using two text files for a database is not a good idea. Or why hardcoding html snippets in a bash file is bad practice. I look forward to it. But until then, please enjoy my janky site in all its leanness and "charm" in the same way you'd enjoy a friend's first attempt at cooking for you in college. Every great chef starts somewhere.

The strangeness of creativity

Published May. 19, 2021

Last night I dreamt I was in a competition to build large scale art exhibits. As with all dreams, I have no idea how I got there, I certainly am not a top pick for such an exercise. Fortunately for me, my team seemed completely unfazed by my ineptitude and methodically built up a wondrous room-sized display of wood and metal. Sheets of metal were punched out and cut down to resemble ivy and the wood gave a sense of all of this simply being a part of nature. As with all dreams, I cannot quite put into words the details. What I remember clearly is a sense of awe at the whole thing. Somehow these people envisioned and built this wondrous structure, a feat beyond me in my wildest dreams!... Oh wait.

Wasn't this exactly within my imagination? While writing this, I can humbly tell you that I have no idea how I'd begin to replicate the endeavor. Yet, wasn't it my own mind that effortlessly created and constructed, however impossibly, the whole thing? How bizarre this sense of creativity is. And how subconciously it occurs. Our brains paradoxically create the impossible while disbelieving its ability to create. Are we really of two (or more) minds as some research shows? Or is this all part of some cohesive singular experience? My conclusion: dreams are weird man.

A litmus test for conflict

Published May. 17, 2021

On a podcast some years ago, I came across a simple yet powerful litmus test to decide which side of a complicated conflict lines up with my personal values. Imagine if one side had complete and total power, what are they saying they'd do with that power? If the answer appalls you, problem solved.

Obviously, things are not always so simple. A party may outwardly state one objective but secretly have another. But, at least in the case of international conflict, you'll be surprised at how often a group's publicly stated mission goes completely against your beliefs.

A mother's collection

Published May. 16, 2021

These are my mother's most valued collection of treasures. A collection of simple memories punctuating the circle of life of a bygone era, of a full human life.

This inheritance, this remembrance, I realized today that these same memories will one day be my most valued collection of treasures.

Fiction vs nonfiction

Published May. 16, 2021

On my site's reading list I decided for the absolutely minimal amount of classification possible to avoid the mess of having to rank books or cateogorize adding them in, landing on a simple fiction vs nonfiction. I've been satisfied by my choice up until a conversation about the book I was to read next, "You're reading the Bible? Would that classify as fiction or nonfiction?"

Like with any good tough, potentially philosophical question, I immediately looked to the Internet for an answer. I read one Quora answer and thought I'd be satisfied.

"The bible is nonfiction as in 'not fiction'. Fiction refers to a novel or collection of short stories."

Case closed, or so I thought. Had I stopped there, perhaps it would have been. But my eyes went to the next answer.

"It depends on who you ask. Some people pay call it fiction and others nonfiction, and others neither at all."

Each successive answer confused me more. I was honestly expecting the typical Internet two-sided shouting match. But instead, I found a dizzying potpourri.

More digging and more confusion. It seems like I was not going to find a clear answer here. There seemed to be a general consensus that my perfect binary taxonomy was not sufficient. So how to solve this problem of where to add the Bible while still keeping the minimalist effort I desired? Simple. Remove all classification. So whenever I finally get through that behemoth of a book, gone will be the old class system, all books will unite as one. But while all books will be equal, some books may be more equal than others. Stay tuned.

Ambition vs equanimity

Published May. 14, 2021

With every achievement accomplished, your brain rushes with another high. An intense, gratifying inward cry of "I'm good enough." And then... it's gone. The next moment is upon you and unconsciously you have already scanned for the next empty box to check off. The next one will be the one that lasts you assure yourself, starring the empty box. Or the one after that — another star. You glance back at the tapestry of thousands of checked off boxes behind you and hesitate slightly. Within squinting distance you notice dozens of roughly pencilled stars, the handiwork of your past self.

Years later, your brain quietly hums with contentment. You feel an itch, hear someone shouting something obscene, but your brain hums on. You have learned how to find peace by looking inward, and relishing the beauty of the world around you. You focus for the next twenty minutes on the busy soundscape and a thought drifts into your head: there was some greatness you had wanted wanted to achieve, perhaps now is the time. You are calmly confident in your ability to accomplish it. You let that thought sit with you for a few moments until it passes and another replaces it: to what end? You have found love, found peace. A warm summer breeze passes, and with it so do your thoughts of greatness.

Ambition and equanimity lie in subtle yet inescapable tension. Most have no grip on the latter. Some try and hold onto both. None succeed. Which path do you choose?

Moral culpability

Published May. 13, 2021

I was recently discussing the place of politics in the workforce with a friend and former colleague. In explaining the importance of pushing anti-racism initiatives at work, he stated, "If you're not a part of the solution, then you're a part of the problem."

I understood the sentiment, one heard frequently in the last year. I empathized with why he felt banning political activism was such a harmful policy and we moved on. But this left me wondering... Is this true? Are we morally culpable for the wrongs around us? This should, after all, have a great impact on our behavior and self-worth.

If we were to grant this as true, this would lead to some truly horrifying conclusions about our own lives. Around the world there are millions of people dying and suffering from easily preventable diseases. Diseases like measles which have been all but forgotten in North America still kill hundreds of children. How many of those deaths are on our hands? How many of the homeless that we walk by everyday do we take responsibility for?

The most compelling articulation for a moral imperative I've found is in Peter Singer's famous essay Famine, Affluence, and Morality, reiterated in his book The Life You Can Save:

On your way to work, you pass a small pond. On hot days, children sometimes play in the pond, which is only about knee-deep. The weather's cool today, though, and the hour is early, so you are surprised to see a child splashing about in the pond. As you get closer, you see that it is a very young child, just a toddler, who is flailing about, unable to stay upright or walk out of the pond. You look for the parents or babysitter, but there is no one else around. The child is unable to keep her head above the water for more than a few seconds at a time. If you don't wade in and pull her out, she seems likely to drown. Wading in is easy and safe, but you will ruin the new shoes you bought only a few days ago, and get your suit wet and muddy. By the time you hand the child over to someone responsible for her, and change your clothes, you'll be late for work. What should you do?

Well?... The argument is powerful in the almost rhetorical question posed at the end. Singer states that by choosing not to donate or work on this problem, we are choosing to walk past the drowning child. Taking this line of reasong to its conclusion, every dollar spent in excess of a spartan life is a choice to walk past this child. Aware of this and true to form, Singer has pledged to donate all of his income above something like a $15k salary. And yet, even Singer does not assign culpability by omission.

The guilt by omission rhetoric is wielded at the breaking of every big news story. By flocking around today's solution, the wielders, by their own accord, become a part of yesterday's problem. Singer's point is that we ought to make a change, not because we're culpable, but because we can. Instead of assigning guilt or complicity unto others, we should consider how effectively we can make a difference. And given our limited resources, especially our generosity, we should strive to make the most of them. Real change, like investing, requires long-term compounding. Focusing on the latest cause is as likely to help society as investing in the latest meme coin is likely to make us rich. Focus on finding what is impactful and what is effective, and like Singer put your money where your mouth is.

Paternalistic benefits

Published May. 12, 2021

Some things in life are so commonplace and mundane that we never stop to question them. Only when you see things done another, perhaps contradictory, way you're left wondering why you never questioned it in the first place. Like the first time learning that some countries drive on the opposite side of the road. Or when you met someone certain they don't want children. I recently had this existential crisis with workplace benefits.

In Apr. 2021, the cofounders of Basecamp faced intense backlash for announcing changes that included a ban on societal and political discussions on company account. While this is worth opining on (see thoughts here), it was the overshadowed second change that really caught me off guard.

2. No more paternalistic benefits. For years we've offered a fitness benefit, a wellness allowance, a farmer's market share, and continuing education allowances. They felt good at the time, but we've had a change of heart. It's none of our business what you do outside of work, and it's not Basecamp's place to encourage certain behaviors — regardless of good intention. By providing funds for certain things, we're getting too deep into nudging people's personal, individual choices.

This concept of providing taxable non-cash benefits has been around for a while but the psychology of it was formalized by Richard Thaler and Cass Sunstein, and published in their book Nudge. Along with the rationale was coined the term "libertarian paternalism", a term meant to evoke images of a loving father raising a free-thinking child under his wise and knowing tutelage. But stated directly, the philosophy dictates that institutions should exert their will through subtle psychologial manipulation, while still leaving us free to overcome them. This to me is the Nobel Prize-winning version of passive-aggressiveness. Your libertarian paternalistic roommates aren't forcing you to do the dishes but they might stop mentioning which one of them did the dishes last week if you do.

Universally, these paternalistic workplace benefits are well-intentioned. Stripe initially had an unlimited vacation policy but, like other employers, found that employees were still getting burnt out and not taking enough vacation. The solution? Re-implement accruals and caps. This was clearly a thought-out move to benefit employees, by using loss aversion to overpower cultural and self-imposed stigmas around taking "too much" vacation. And recently, this was ramped up through additional days that had to be used within the next 3 or 6 months or lost forever. These nudges, the employer equivalent of "Limited time only!" sales tactics, are based on the assumption that employers know what's better for us than we do. The focus could have been to send communications to reduce stigma and empower employees, with management leading by example. But instead, employers choose the lazier nudging approach.

The unsettling aspect is that, while well-intentioned, benefits are used in ways that are the least likely to be questioned as opposed to what is truly best for us. The biggest example is the frequent availability of alcohol as a benefit. If employers really wanted the healthiest outcome for employees, they could simply state that the company would only be expensing non-alcoholic drinks. Or better yet, prevent sending messages for non-mission critical employees between 10:00 pm – 6:00 am to encourage sleeping well. While objectively healthier, nudges like these would be far too overt to be palatable by employees. The watchful paternalistic hand must avoid raising suspicion.

Weirdly though, even hyper-analytical people seem to enjoy these paternalistic benefits instead of demanding that they be paid out. I think this highlights the depth of our mental accounting bias, the tendency for us to not view money as fungible. We view a $1000 education benefit as a huge improvement over a $0 education benefit but a view a $1000 raise as insultingly low on a $100k salary. This presents employers an arbitrage opportunity: boosting employee satisfaction by reapportioning compensation to smaller benefits instead of increasing total compensation. But aside from situations with bulk purchasing benefits such as health insurance, I'd always rather have the cash to make my own choices. Benefits are not some free lunch but rather chunks of your compensation that have been locked up to be released with good behavior. The paternal hand will only give us our allowance if we spend it "the right way".

This whole system leads to some weird conclusions: Does your employer offer a stop-smoking benefit? Smoking employees get paid more. How about a gym benefit? Fitter employees get paid more. Retirement account matching? Scrupulous employees get paid more. Compensation starts getting linked to completely extrinsic behaviors but the ubiquity and positive framing of these benefits lead us to never give pause. As Gerd Gigerenzer calls out in his paper The Bias Bias in Behavioral Economics, a focus on maximizing autonomy and education are the long-term solutions to better outcomes. If we are able to learn from their mistakes and decide what is best for ourselves, then why do we let our employer guide our lifestyle outside of work? Next time your employer starts listing off their benefits, ask whether you can take them in cash. After all, who knows what's best for you?

Muslim millenial value stack

Published May. 9, 2021

  1. Not comingling with the other sex. It's the 21st century, you're not a bigot/misogynist/sexist. Definitely an anti-value.
  2. Being homophobic. Still living in the 21st century, you're not a bigot/homophobe. You're maybe not really totally 110% comfortable with it but let's not dwell on that. Probably an anti-value.
  3. Wearing recommended clothing. "Woah, are you backwards or repressed?" Maybe an anti-value.
  4. Not watching porn or masturbating. Nobody has ever talked about this out loud so maybe it's not even technically illegal. Let's say decriminalized if it's less than twice a day. You're secretly hopeful that incognito mode protects you from employers and omnipotent beings.
  5. Understanding the Qu'ran. You've read the whole Qu'ran, maybe even more than once. Of course, to keep its integrity, you read it in Arabic. Unfortunately, you don't speak a word of Arabic and reading it in English never occurred to you.
  6. Reading the Qu'ran. See above.
  7. Praying. Recommended but optional. Kind of like the extra non-graded assignments your teachers recommended; yeah you should be doing them but nobody else is doing them and you'll probably still pass.
  8. Giving zakat. You'll definitely do this when you have the money, that's just not yet. And you're pretty sure your dad's still paying for your entry on the holy ledger so you're probably fine.
  9. Not having sex before marriage. What does this even really mean? Anything but PIV is fine, right? Maybe you've crossed that line too but what does it really matter if you're planning on getting married to this person? And even if you're not planning on marrying this person, what does it really matter if you're planning on getting married to some person at some point?
  10. Not drinking or taking drugs. You're not really gonna try to justify this one but hey, nobody's perfect. People need to loosen up a little. Maybe this is only for special occasions... Which occur two to four times a week.
  11. Observing Ramadan. Super important time to make up for all your other slippages. Double down here and you buy yourself another year of mistakes, right? But exceptions are required. An actual quote from the past week, "I know it's Ramadan but I'm still definitely down for tomorrow night. I have been needing to get fucked up."
  12. Not eating pork. The most sacred aspect of faith, never to be questioned and never to be broken. This is your hill to die on. Having beers with your friends and they're about to order pepperoni pizza? "I can't, I'm Muslim."

Don't take this too seriously in case I got your order wrong. Just some funny observations from decades spent growing up around people trying to reconcile identity, faith, and life in North America.


Published May. 9, 2021

I wake up and grab my phone—it's 7:30 a.m., Friday. I feel a little groggy, definitely went to bed a little too late last night in a YouTube blackhole about homes I will never be able to afford. Oops. I really don't feel like working today but at least the weekend is almost here.

I quickly check up on my messages: a brief skim through texts, Messenger, Instagram, Signal, and WhatsApp. I'm a little disappointed, I for some reason expected—hoped for more. I don't have time to respond to what's there but fire off a few quick reactjis to the best ones. I'll get to it later.

Up next, email inboxes. It's too early for work emails though. Nothing but the usual junk, some spammy newsletters, bank updates, and sales codes I was expecting. I'll save the news articles for later, not really feeling it right now. I really should get around to unsubscribing from these one of these days... Select all, delete. Back to inbox zero, already starting the day with some progress.

I really should get out of bed but let's just quickly check-in on my favorite subreddits. LOL couple good posts. Quick check of the homepage. LOL the internet is amazing. Nothing great past page 3 though, the upvotes got it right. A quicker tour through Instagram, tossing a single heart, I see that there's nothing great.

Shit, time to actually get up. Tune into my favorite podcast while I get ready for the day and check up those news articles in my inbox. Shit is crazy these days, I can't believe this is where we're at. Hop back into my audiobook while I start brewing coffee. God, that smells good. I didn't realize my head was aching but it's already dying down before the coffee is ready.

Pop open my meditation app for a quick session to start the day off. Much better. Halfway through the cup and I'm feeling human again. Time to hop onto the first Zoom call of the day: "Hey team!"

Glad that's over with. Ugh let's check in on the work emails... "53 new messages". Great. I'll just check Slack first before really digging through this. Agh, a few requests I missed last night. Let me just do them right now before I forget. Done. And I'll mark everything else as unread so I don't forget to come back to it later (I hope). Time to tackle that inbox again. 45 minutes later and done. Back to inbox zero. Do I really need to work the rest of the day? This seems like a lot for a Friday.

Jk, I wish. Now it's time to actually get some stuff done. My morning podcast won't do, this is going to require my work playlist on Spotify. Plugged back into the headphones aaaaand we're off. I drop back into the messaging apps a few times when I have a second to write out my responses and see what friends have to say. Respond to a couple more pings as well and hop into another call. I cannot seem to focus, TGIF.

Finally lunch time. Pop open last night's UberEats into the microwave while browsing YouTube for something to watch and checking up my messages. Gotta find something "educational" of course, it's still work hours. New episode of Last Week Tonight? Sweet. Food is ready, and we're good to go. Go through a couple more episodes while I'm putting in the dishes. Shit, next call is in a few minutes. 2x through the rest of the video and just squeeze into the call. Nailed it.

I quickly check up on my messages again after the call, no responses though. Back to the playlist to hammer out the rest of the afternoon.

TGIF! Did I say that already? Don't have much planned (thanks #COVID) but relieved nontheless. I'll go out for a quick walk and workout. Should I tune back in the podcast? Queue up my workout playlist? Or maybe call someone? Nah, too tired for a call. Let's go with the podcast. I'll hit the playlist when I start the workout.

Back to cook up some dinner. Quickly 2x through the recipe video again just to make sure I'm not forgetting anything and turn on a couple funny videos in the meantime. Food is ready, can't wait to enjoy it. But what do I watch with dinner? I know, I'll catch up on that latest Netflix series.

Work finished. Workout completed. Dinner cooked. Sucks that I can't hang out with friends (#COVID) but at least I have some time to finally unwind and decompress. What to watch? Don't have the energy for a movie or something heavy. I turn to my current comedy pick, satirical and topical, just what I need. Hit play, grab my phone, and catch up with friends in the meantime.

It's getting late, time to start getting ready for bed. Plug back into my audiobook while going through the nightly routine. At least not going out means I can catch up on sleep. I get into bed but I'm not quite asleep yet so I just quickly catch up on messages again. Nothing else good on Reddit or Insta. I'll just take a quick peek at TikTok before passing out. LOL the internet is amazing. Did I say that already? It's 1:00 am!? Fuck. Not again.

"All of humanity's problems stem from man's inability to sit quietly in a room alone."
—Blaise Pascal

We drown ourselves in stimulation, deeply uncomfortable and evasive of the most fleeting moments of boredom. And yet we say we are not addicted, there is no problem. Try eating your next meal devoid of any sort of tech, enjoy it slowly and deliberately, maybe over 20 minutes. Why is it so hard to savor a moment like this? Why do we want more? Are we not addicted?

Office sans politics

Published May. 8, 2021

In Oct. 2020, Coinbase CEO Brian Armstrong took a divisive stance on keeping politics out of the workplace. Sparked by employee walkouts in reaction to Armstrong's reluctance to publicly comment on the BLM movement, this stance was cemented in the wake of heated political discussions preceding the Nov. 2020 US Presidential elections. In Apr. 2021, Basecamp founders Jason Fried and DHH followed suit, stating that there were to be no more societal or political discussions in workplace channels.

Both companies issued the statements alongside generous severance packages ranging from three to six months' pay and benefits. In the aftermath, Coinbase lost 60 employees, representing 5% of its workforce, and Basecamp lost 20 employees, representing a staggering 35% of its workforce.

While long backstories are needed to examine those as case studies (along with a sense of base rate attrition from such a severance policy alone), this got me interested in the philosophical idea of what role politics ought to play at work. If every company had to issue a "Yea or nay?" directive tomorrow regarding politics in work platforms, what should they do?

From the employee side, I get that people want to work somewhere that reflects their values. I would certainly be reluctant to take a comparable role at a payday loan provider or tobacco producer. For many people, this reflection of values extends to working somewhere that represents their political views. Identity at work, especially for millenials seems to have moved from "What are we creating?" to "What do we stand for?". The fusion of these has led to confusing wonders such as Ben & Jerry's What's New page, which provides you with 8 Ice Cream and Beer Pairings Perfect for St. Patrick's Day followed by a digestif of The Derek Chauvin Murder Trial: What's At Stake. Both highly topical and important topics to be sure, but a little more than I bargained for with my soft serve and sprinkles.

In my experience, I have had positive political experiences at work which involved listening to people from specific groups share their personal experiences and concerns on a relevant topic. Given the size and absolute diversity of the workplace, I gained a perspective wholly unavailable to me given my friend group outside of work. However, these sessions involve sharing of exclusively mainstream left-wing views which are far from unanimous. And I'm confident that these public sharing sessions would not be so well-received if they centered on right-wing views, which hints at the heart of the problem.

What people really want with politics in the workplace, as evidenced by the walkouts in 2020, is a place to share their political views and have them affirmed by leadership. Opposing views are loudly decried and end up triggering many. Sharing political views on a podium, at work or elsewhere, does not permit for safe rebuttal or dissent. Speaking to an audience of more than a couple of people quickly triggers the identity and posturing part of our brains and pushback is perceived as a threat to be neutralized. Somebody must win the public opinion. What was once a place to work together on creating a specific value to society quickly devolves into another shouting match.

What really changes hearts and minds are individualized, intimate conversations. People often say that you ought not to talk about religion or politics at work but I disagree. In a one-on-one setting, especially at work, it's much easier to know that we're on the same team. We can argue about the whole world, move on positions without losing face, and grab a drink afterwards, closer than we were before. Things get hairy when you move to talking about politics at work at scale, as is the case in public work channels. So to all the CEOs mulling over tomorrow's big "Yea or nay?", vote "Nay". Leave the office as a place to drive specific value and unify anyone interested in that mission; let the politics follow from that unity and not divide it.

Ode to text files

Published May. 5, 2021

Where have gone our beautiful text files?
The simple markdown or markup
Or the endangered .txt?

Think not of Microsoft Word docs
Save that for the businessmen and uninitiated.

Think not of Adobe PDFs
Save that for the lawyers and publishers.

Forget Apple Notes and Google Keep
Who imprison words within their walls.

A good text file is like good peanut butter,
it should contain only a single ingredient.

If Notepad can't read it then neither will I.
Bring back the beautiful text file.

What is love?

Published May. 4, 2021

Baby, don't hurt me

Don't hurt me

No more.

A reminder to myself not to take this endeavor too seriously. Beware of turning another mildly productive distraction into something at stake. That is often the beginning of the end.

Develop empathy

Published May. 3, 2021

Develop empathy as a rational tool. To be truly rational is to choose the most effective method of persuasion.

In March 2019, I had one of the most eye-opening (pun intended) experiences of my life.

"For the next three minutes, gaze into your partner's eyes."

Partner, in this case, referred to a stranger who'd I'd spoken to for less than five minutes. Wasn't this supposed to be a course on rationality? The previous weeks covered topics such as mental models and Bayesian thinking so what was with this weird stuff? Mostly to avoid the greater embarrassment of sitting out, I played along.

The first few seconds were easy, our eyes met with a mutual acknowledgement of the comedy of the situation. The rest of the first minute ended up being an unspoken game of "Who will laugh first?" The discomfort of just gazing directly into a stranger's eyes for some reason made everyone in the room want to giggle, presumably in the hope that laughter would dissolve the awkwardness. It did not...

We get through the initial giggles and enter minute two. I stifled my laughter and intensified my gaze, doubling down on my resolve to make it through this without feeling totally emasculated. Somewhere within that second minute, I found myself smiling again, but this time not out of embarrassment. I noticed we're both smiling and that now there was a sense of warmth and comfort associated with it. My intensity turned to curiosity, "Who is this other human looking at me? How is she feeling? How did she come to be staring into my eyes today?" And of course, "Is she thinking what I'm thinking?"

The final minute ended far too quickly. By that time we were pointing out interesting features in each other's eyes and reflecting on how weird it is to be afraid of this. We're in the middle of sharing our life stories interrupted—"Time's up."

"Now for the next two minutes discuss how you felt but start each sentence with 'When you say that, I feel...' And state an actual feeling: confusion, excitement, embarrassment. None of this 'I feel like...' that we usually use, instead of actually sharing how we feel. Share your acutal feelings. We are always mentally preparing what we want to say next while the other person is talking, what they say is usually secondary. See how that changes now."

What followed was what I can only describe as a conversation with a friend of many years. Of the sort that you only have after you've spent hours catching up on the mundane. There was no shame in talking about my embarrassment or her intimidation, just open sharing of raw emotions. For the rest of that day, I found myself effortlessly engaged and attentive to whatever this stranger had to say. My posture had changed from its usual skepticism to an open curiosity. And incredibly, that instant reflex to start preparing what I wanted to say next had disappeared, I wanted to make sure I caught her every word first. In the span of five minutes, we'd accomplished what would normally take a couple hours of EDM music and a healthy dose of MDMA.

Up to that point in my life, my approach to persuading others involved presenting facts, setting up logical arguments, and calling out biases or fallacies. This was in line with my understanding of rationality: whoever presented the most undeniable evidence was right. I was, of course, always right so cue my confusion at my general inability to persuade almost anyone. I would occassionally convince a close friend of something or another, often begrudgingly, so I chalked up the rest of my failed attempts to the irrationality of the other party; they just weren't thinking about things the right way.

But what I learned that day in the rationality course was that being truly rational meant meeting other people where they were at. Once you take even a little bit of time to build empathy, making yourself understood becomes easy. My decision to continue my debate-style approach despite its horrendous success demonstrated my irrationality first and foremost. Being rational involved understanding others' perspectives in their own words before attempting to change them. In my childish world view, I had conflated correctness with rationality, and ended up often missing the mark on both.

After that day, I immediately dove in to Marshall Rosenberg's work on Nonviolent Communication, the source of inspiration for the exercises. While going through the motions felt painfully awkward and forced, the results were truly remarkable. Without even having the conversations, I felt as if I understood people better, revitalizing my posture towards relationships I'd soured for many years. I tried eagerly to recommend it to anyone within earshot but pitching a YouTube video of an old man wearing hand puppets is admittedly not an easy sell. Reassuringly however, after reading Never Split the Difference and How to Win Friends and Influence People, I realized that all these books were saying the same thing, tailored to different audiences. A hostage negotiator, a self-help guru, and an international peacemaker all had the same basic truth: that people need to be understood to change, and the only way to get there is to listen without trying to be heard. Develop empathy as a rational tool. To be truly rational is to choose the most effective method of persuasion.

Are you rich?

Published May. 2, 2021

However many times this question has come up, the universal answer I hear is "No". Perhaps this is a reflection of my circle or my environment? Maybe I'm surrounded by people working in low-wage service jobs or perhaps I'm in a country with a relatively low standard of living? Alas no, this is the response from yuppies in their mid-20s mostly earning more than $100k/year in two of the richest countries in the world. Ironically, many of these people today would exceed the definition of rich they themselves had given only a couple years prior. Today, that old definition seems irrelevant and any new definition is left vague.

We often snidely refer to rich people as the 1% and yet in my experience the actual 1% and 2% sheepishly deny such classification, instead choosing to self identify as "middle class". People are notoriously comparative creatures, especially when it comes to money, but it seems that 98th percentile income in a 90th percentile country is still insufficient to self-identify as rich. While this is a genuine puzzle to me, I have a few rough thoughts as to why this might be the case:

I don't purport to know why most people feel this way, perhaps they don't know themselves. But what I do know is that by any reasonable measure, they are rich, at least in a financial sense. If you answered "no" to this question, I would ask you to consider why and whether that is really true, and what being "rich" really looks like?

Growing up, I remember at some point asking my dad if we were rich; it seemed like everyone at school lived more luxuriously than us and my mom would often rebuke my asks with a sharp, "We don't have enough money." But I was confused because we had recently moved to a big new house, a big improvement over the old roach-infested apartment, and gotten a shiny new minivan[0], a godsend at the time for my rapidly growing frame. My dad gave me a nonresponse citing that it's not important, much to my frustration. I had wanted to feel superior to the other kids. Everyone else looked happier than me, and I had desperately wanted affirmation that there would be a payoff for this repressive upbringing and angst—that I'd have the last laugh in the end because this is how you got rich. What my dad got right was that I was asking for the wrong reasons. But what he failed to impress upon me were the right reasons.

The reason to ask this question to ourselves is not to gain a sense of superiority over others or breed guilt within ourselves, but to bound the empty pursuit of money and seek real happiness. It is far easier to want more than it is to decide what is enough. And until we truly believe we have enough, we can never find peace.

[0]That Mazda MPV is still running to this day, bless its soul!

Populism and wallstreetbets

Published May. 1, 2021

In late January, I found myself unable to sleep. I felt anxious; a little scared even. But most of all... I felt excited. What would another day bring to the epic saga of r/wallstreetbets vs "Wall Street"? Would GME continue its meteoric rise to $1000? Would paper hands prevail and bring everything tumbling down? When would Elon or Ryan Cohen weigh-in on whether the squeeze was squoze? It was impossible to say and yet the possibilities continued to spiral through my mind. Every guy even remotely aware of what was going on quietly had the same thought pass through his mind: what it would be like if I became an overnight millionaire?

How much skin did I have in this game you might ask? How deep was I in $GME such that I was losing sleep over a meme?

Absolutely nothing. Zip. Nada.

And yet, this David vs Goliath narrative was powerful enough to draw me in. The mass media headlines and 8 million member growth of r/wallstreetbets in February told me that I was not alone. While this type of story goes by many names, the prevailing word at the time of writing is populism. And though the "p" word has ugly connotations these days and associations with far-right extremist groups, the reality is that we all find ourselves caught up in the struggles of the everyman in some way.

The most worrying part for me was how emotionally invested I found myself despite my complete lack of skin in the game. What does that say about my susceptibility to other populist movements? Did I really care about Robinhood investors triumphing over Wall Street or was I just caught up in the excitement of watching conflict unfold and fortunes shift?

Eric Hoffer in The True Believer calls out that mass movements are much less about the cause itself and much more about how the narrative unfolds and the personality traits of would-be movers. This theory goes against our sense of being highly conscientious moral agents but fits the evidence of getting caught up in GME or identification with sports teams. Following the theory leads to the unsavory conclusion that there's not a whole lot separating Redditors trying to cancel Vlad from Robinhood and SJWs trying to cancel J. K. Rowling. Or, put more extremely, not a lot separating violent rioters in Portland from insurrectionists in the Capitol Building.

Despite Hoffer's book being published in 1951 when the consequences of nationalism, fascism, and communism all loomed large, the social psychology outlined is just as relevant 70 years later. The rise of populism is real and not going anywhere. And though hindsight makes it easy to classify which movements were right, it is not so easy to predict whether we will be the righteous.

My suggestions on how to tackle this? Short-term: cut out news and social media. The sensationalism and outrage is powerfully designed to draw us into the movement of the day. Long-term: be explicit about your values, write them down and revisit them every year. Having a strong sense of values means that any new thing that wants to capture us must first pass through the gauntlet of values.

Essential reading list

Published Apr. 28, 2021

What are the "essential" things we should learn as students? Nowadays, I often hear "coding is the language of the future" or "everyone should learn how to program" but like most maxims, this is a gross simplification. Yes, everyone who spends 8+ hours a day on a computer should learn something about how to use it more effectively, but everyone should not be a programmer. However, I firmly believe that there are a few foundational skills outside of the current curriculum that literally everyone should learn, especially before college when the training wheels are kicked off. Curriculums are zero-sum so for everything added, something must go; I would rank the following topics/courses at least above grade school history, geography, and maybe even a second language.

How to learn

Encapsulated by Barbara Oakley's Learning How to Learn. This is something that sounds so obvious that everyone assumes they know it already—they don't. The critical practical takeaway is knowledge of how learning actually happens and how to take advantage of your own psychology. Learning this breaks down the idea that there are subjects you are good at and bad at, and replaces it with a set of tools to gain mastery in any area.

Managing your time

Encapsulated by David Allen's Getting Things Done. Given how little attention is paid to time management outside of the corporate world, every young adult unfortunately learns this through the "sink or swim" approach when transitioning from high school to college and again from college to beyond. The big thing here is giving students the idea that you can break down big looming projects, in life and school, into simple actions they can take immediately. Whether they stick to the exact process in the book is inconsequential, what matters is instilling the belief that even for the most daunting and ambiguous of tasks, there is always a simple next step to take. Otherwise, ambiguity can only be tackled when the Panic Monster rears its head.

Reading efficiently and effectively

Encapsulated by Mortimer J. Adler's How to Read a Book. Forget everything you've learned in school about how to read and start over the right way; these 400 pages sum up what 12 years of formal education could not. If you aren't reading the Table of Contents, you're doing it wrong. Students should be able to learn how to quickly get the gist of a book and go deeper in the rare instances it's needed. It's crazy that we are never taught how to understand the big picture, instead spending hours poring over single passages or specific words. Once the required reading list goes from two books a semester to 6 papers and 3 books per class, I'd rather know how to find the main message of a book in a few minutes than how to surmise what the color green really meant in The Great Gatsby.

How to grok SQL

Published Apr. 27, 2021

The rigidity of SQL is both a blessing and a curse. Once you "get it", you really get it, there are almost no surprises. But its inflexible syntax and difficulty to test also means that it can take some time to grok and lead to lots of silent errors.

Confusingly, SQL is not executed top to bottom, the manner in which a human would read it. Reasoning about and reading SQL in the actual execution order, as outlined below, provides much greater clarity. One general tip is to use CTEs (Common Table Expressions AKA WITH statements) liberally to keep things organized.


The most important part of any query and the source of most mistakes. Reasoning about this involves visualizing, mentally or on paper, the full expansion of each join. Make sure you can state exactly what the the primary keys are on each table before joining. Write out some rows you expect to be dropped with inner joins, some rows you expect to be empty with outer joins, and some rows you expect to be duplicated/expanded if you're not joining two tables at the exact same level of aggregation. Joining at the wrong level of aggregation is really easy and won't return any errors, quietly returning a completely incorrect number.

By the end of this step you should have a sense of some giant megatable you're creating and be satisfied with what each row in the megatable represents. This is likely different than what your left-most table started with. Most of the columns in your megatable will never be used and the columns you joined on will likely be duplicated—this is okay.


Once you have your megatable, decide which rows you don't need. This part is relatively well understood. The most common mistake seen stems from trying to filter on fields in joined tables when nothing was actually joined. Again, having a clear visualization of the megatable will help avoid this. Also be explicit about how you handle nulls: if A is null and B is 1, A != B may not do what you expect...


You should know what level of aggregation you need for your output—only group by those fields! This is the second most common source of confusion. If you find yourself starting to group by numeric fields, stop! If you find yourself grouping by fields that are 1:1 or 1:many with your main field, stop! Really common mistakes would be grouping by city, state, and country or grouping by person_id, person_name, and title. In both of these situations, what you're really trying to do is just group by city or person_id first (within a CTE) and then join in the additional fields; the additional grouping fields are completely redundant! Adding all sorts of unnecessary groupings makes the query perform worse and adds confusion.


Did you know that this even exists? WHERE but applied at the level of GROUP BY. Only want to find duplicates? Only care about groups above a certain threshold? This is where you encode it.


While this seems like the meat and potatoes when first learning, this is really near the end of the process and should be straightforward after thinking through everything else. Be frugal with what fields you're pulling; a SELECT * might be quick to write but could slow you down 10x in run time. Window functions can get tricky and are outside of the scope of this post.


You're almost there! Given how late this is in the execution, you can order by all the fancy new fields you defined in the last step (aside from window functions, womp womp).


You made it! Try to be frugal here as well since you probably just want to make sure things are working. Forgetting this can lead to some long wait times as your front-end tries to download 1 GB files when a few KB would have sufficed.

Choose less, decide more

Published Apr. 25, 2021

Choose less, decide more. The simplicity is well worth it.

While a rationalist economist may disagree, there is a profound difference between choosing and deciding. Choosing is the slow process of weighing options against each other, creating some sort of mental ranking, and then reflecting on how optimal your process was after-the-fact. Deciding is making up your mind either ahead of time or within a few moments and then wholly welcoming the consequences.

We are generally taught the value of carefully choosing things. Most engineering and business majors can relate to the experience of taking entire courses related to this; Pugh matrices, Porter's Five Forces, SWOT analyses and other junk are pedalled to students as industry-standard decision making tools. Yet I can count on one hand the number of times I've seen any of these show up in the real world, and can count with no hands the number of times they were useful. There is a place for being choosy: when making big life decisions around where to live, who to be with, what our values are—but this choosy mode is switched on far too often and the cost paid unwittingly.

While we focus our efforts on making sure we make the best possible choice for what to buy or where to eat, we rarely consider the cognitive load borne for these choices. We commonly spend 30 minutes deciding whether to eat out, an hour deciding where to go, and 15 minutes deciding what to order. When viewed through a maximalist lens of "did I choose the best thing?", it's easy to rationalize that our final choice from the best reviewed restaurant (cross-referenced on Google Reviews, Yelp, and Reddit of course) really was an improvement over the alternative. But the question we should really be asking ourselves is what is the least amount of time I can spend to get an outcome I'm satisfied with. As poker pro Annie Duke points out in How to Decide, "The time you take to decide is time that you could be spending doing other things, like actually talking to the person sitting with you in the restaurant."

The best part is that making decisions let's us have some fun while getting us that time back. Spending too much money on eating out? Decide to never order something over $11 off the menu. Spending hours agonizing over that next $100 purchase? Decide to make up your mind after the first review you read. Not sure where to eat? Decide on the first place on Maps over 4.5 stars that you haven't been to. Not only will you find this liberating, you'll also have a great conversation starter next time your friends end up in a battle of "I don't know, what do you wanna do?" Choose less, decide more. The simplicity is well worth it.

Parabola of Generosity

Published Apr. 24, 2021

I remember in my early trading days, at age twenty-five or so, when money started to become easy. I would take taxis, and if the driver spoke skeletal English and looked particularly depressed, I'd give him a $100 bill as a tip, just to give him a little jolt and get a kick out of his surprise. I'd watch him unfold the bill and look at it with some degree of consternation ($1 million would certainly have been better but it was not within my means). It was also a simple hedonic experiment: it felt elevating to make someone's day with the trifle of $100. I eventually stopped; we all become stingy and calculating when our wealth grows and we start taking money seriously.

This quote from Nassim Taleb's The Black Swan caught me off guard upon first reading and has lingered me with me since. The story itself is hardly memorable, something I'd expect to find in the memoirs of any self-absorbed Wall Street type. What really got me was the last line: that there is some unflattering and unintuitive stopping point for our generosity.

Reading this book at age twenty-five or so, when money started to become easy, this was an uncomfortable pill to swallow. After a lifetime of parsimony, which my close friends would be too eager to confirm, I was very compelled by the arguments of Effective Altruism. I had paid off my loans, gotten a healthy raise, and realized how little you need to live comfortably with no dependents. The trifle of $100, while providing almost no marginal utility to me, could provide a significant reduction in the likelihood of someone contracting malaria or prevent iodine deficiency in hundreds of others. Tipping taxi drivers generously became easy, especially since most of those tips were reimbursable.

And then, subconsciously and slowly, it became difficult. After another healthy raise and promotion, I oddly found myself second guessing my prior commitments. The argument for generosity was just as compelling as before but it felt a lot harder to give away money. Another year passes and I experience a massive increase in income; enough to start to question the purpose of money and its role in life. While this is the point where most people (naively) think they would suddenly become generous benefactors, I find myself growing even stingier! What kind of moral deficiency was I afflicted with!?

I coin this relationship the Parabola of Generosity. I'll save you the bandwidth of an image with a few words. Imagine a concave quadratic surface with the y-axis representing generosity and x-axis representing wealth. Our generosity starts off very low or negative, constrained by our complete lack of wealth, increases up to a point in as we become self-aware of our relative wealth, and then decreases sharply thereafter. The coefficients are dependent on the individual but I believe that this general shape is universal (viewed locally).

It was around the time of finding myself past peak generosity that I came across this passage from Taleb. I felt seen and understood, as if I'd been let in on some blasé rite of passage of the wealthy. Unfortunately though, I did not feel vindicated; having someone else articulate what I was feeling did not give me the sense of righteousness I would have liked.

While the Parabola provides an accurate description of experience, it does not make a claim about why an inflection point exists. I have yet to find a more satisfactory answer than what Taleb has outlined: that we start taking money seriously. Wealth goes from a feeling of abundance to a feeling of burden. I have a sense (maybe a hope) that this quadratic relationship only appears so in a local sense and upon zooming out, the relationship becomes cubic. That we reach some inflection point of "fuck you" money, after which generosity begins increasing again. This seems to hold true for the ultra-wealthy spanning from the most villainized Gilded Age industrialists to Bill Gates. According to Wikipedia, cubic parabolas are a thing so the theory still stands.

As for where I'm at now, I am glad to report that I have not stopped giving. Meditation and the occasional revisiting of works by Peter Singer and Will MacAskill help the reasoned part of my brain set up automated systems to bypass System 1. To someone experiencing something similar, I'd advise taking a step back to evaluate how your values have changed over time. If the change in wealth has outpaced the change in values, it's worth overcoming that stinginess—before we find ourselves writing our own self-absorbed Wall Street type memoirs.

Emergence of religious values

Published Apr. 21, 2021

Over the last few years, fueled in part by curiosity and in part by the search for the Answer to the Ultimate Question of Life, the Universe, and Everything, I have tried implementing a variety of lifestyle changes. Most of these ideas have come from separate sources and some have stuck more than others (I swear I'll start working out everyday tomorrow). But taking a step back on some of the more impactful ones paints an eerily familiar picture:

  1. Rarely drink or do drugs. Inspired by my hatred of weekends spent recovering from hangovers and by examples set by two friends enjoying the same parties.
  2. Abstain from porn and masturbation. Inspired by that one TEDx Talk.
  3. Meditate first thing in the morning and often before bed. Inspired by Sam Harris.
  4. Rarely eat meat. Inspired by a course in air pollution engineering and a long-time partner.
  5. Read philosophy and religious texts. Inspired by desire to find the Answer and catch up on literary tradition.
  6. Rarely lie. Inspired by Sam Harris and a long-time partner. I would say I never lie but...
  7. Tithe. Inspired by a SEO savvy career quiz that led me to 80,000 Hours and Giving What We Can.
  8. Reduce amount of "stuff". Inspired by anxiety around clutter and desire to save more.
  9. Intermittently fast. Inspired by David Sinclair's Lifespan.

The clear religious bent of this list would outdo many Muslims I know. Yet my belief in a traditional God is no stronger than it was before. In fact I'd wager that the intense angst and atheist identity formed in my teenage years probably made me more resistant to these ideas than most. But here we are. Like the final zoom out on Art Attack, it is surprising how a series of small unrelated steps looks from a big picture lens.

Does this mean the seemingly arbitrary rules handed down by religions are really some emergent properties that arise from one's search for truth and contentment? If so, does that justify the use of more persuasive tools such as fear and shame to keep others on the path?

While I leave you to ponder the former, I draw a hard line against the latter. It is easy, in hindsight, to preach about virtues, but applying pressure wantonly does more harm than good. For me, each of these habits came from the right conversation at the right time. And the only real teacher was lived experience.

More insidiously, packaging virtues with negative emotions can backfire in a spectacular way. Discovered individually and independently, virtues serve as a rock solid foundation for identity; but handed down from God, the slightest tremor can cause the house of cards to topple into crisis. Inoculation means bottom-up learning. And bottom-up learning means making your own mistakes.

Don't read what others are reading

Published Apr. 19, 2021

In a couple of recent discussions with friends around books to read and suggestions, I drew some ire around my stance on recommendations and book clubs—I am not open to contemporary or topical books. This draws criticism without fail and yet my conviction on this has only strengthened.

One compelling argument is summarized well in a Farnam Street blog post:

If we're reading what everyone else is reading it's harder to think differently about problems, decisions, or life.

There is definitely an element of truth to this but, as my friend pointed out, the Murakami quote around the other boys being crap is elitist at best. While this vague call to a sense of independence is appealing, there is a much better reason to focus on classics.

As Adler points out in How to Read a Book, the reason to read classics is not to feel "cultured"—it's to understand the rich literary tradition behind everything we know. One cannot really understand the significance of Reading Lolita in Tehran without first reading Lolita. Or truly walk with Dante through Hell without knowing of Virgil. And this lack of understanding is often much worse in nonfiction. People nowadays praise Piketty's Capital in the Twenty-First Century with no knowledge of Marx's Capital, which Piketty is transparently trying to build upon. And of the few socialists who have actually read Marx, almost none have read Adam Smith, whose theories Marx was rebutting. To read only contemporary books is to spend your life skating on the tips of icebergs, blind to the centuries of thought that have led us to where we are today.

Accepting this truth is one thing, but acting on it is another. This path can seem extremely daunting; once you start looking for predecessor after predecessor, you realize it's turtles all the way down. And that realization can be demotivating enough to justify abandoning the pursuit altogether. Fortunately, there are some excellent reading lists out there that help stop the infinite regress. While it would take many lifetimes to traverse the entire iceberg of human knowledge, you'll be surprised to see how far along you'll get simply by reading The Odyssey or The Epic of Gilgamesh.

As the ancient Chinese proverb goes:

A journey of a thousand miles begins with a single step.

So dear reader, try taking that first step. Once you cross the chasm from Heather's Picks to Homer's Picks, you'll never look back.

Dos and Dont's of Feynman

Published Apr. 18, 2021

I recently finished reading "Surely You're Joking, Mr. Feynman" and found his life to be often profound, sometimes cringe, and consistently wonderful. Here is my ranking of some of his advice.

Words to live by

Above all else, always focus on true understanding. The kind which you get from experiencing, teaching others, and extrapolating beyond the homework. This idea was best summed up by an analogy in which he blasts the Brazilian physics program for its emphasis on volume and rote. Unfortunately, the style of education on blast has become the norm.

Then I gave the analogy of a Greek scholar who loves the Greek language, who knows that in his own country there aren't many children studying Greek. But he comes to another country, where he is delighted to find everybody studying Greek—even the smaller kids in elementary schools. He goes to the examination of a student who is coming to get his degree in Greek, and asks him, "What were Socrates' ideas on the relationship between Truth and Beauty?"—and the student can't answer. Then he asks the student, "What did Socrates say to Plato in the Third Symposium?" the student lights up and goes, "Brrrrrrrrr-up"—he tells you everything, word for word, that Socrates said, in beautiful Greek.

But what Socrates was talking about in the Third Symposium was the relationship between Truth and Beauty!

What this Greek scholar discovers is, the students in another country learn Greek by first learning to pronounce the letters, then the words, and then sentences and paragraphs. They can recite, word for word, what Socrates said, without realizing that those Greek words actually mean something. To the student they are all artificial sounds. Nobody has ever translated them into words the student can understand.

Try and understand the phenomena itself instead of just the word.

The answer was, for the wind-up toy, "Energy makes it go." And for the boy on the bicycle, "Energy makes it go." For everything, "Energy makes it go."

Now that doesn't mean anything... The child doesn't learn anything; it's just a word!

Make sure you have a real example to test your understanding.

He thinks I'm following the steps mathematically, but that's not what I'm doing. I have the specific, physical example of what he's trying to analyze, and I know from instinct and experience the properties of the thing.

It is foolish to seek the wisdom of the crowd.

This question of trying to figure out whether a book is good or bad by looking at it carefully or by taking the reports of a lot of people who looked at it carelessly is like this famous old problem: Nobody was permitted to see the Emperor of China, and the question was, What is the length of the Emperor of China's nose? To find out, you go all over the country asking people what they think the length of the Emperor of China's nose is, and you average it. And that would be very "accurate" because you averaged so many people. But it's no way to find anything out; when you have a very wide range of pople who contribute without looking carefully at it, you don't improve your knowledge of the situation by averaging.

Reflect on the value of what it is you're achieving. It's easy to get caught up in the joy of achievement.

After the [atomic bomb test] went off, there was tremendous excitement at Los Alamos. Everybody had parties, we all ran around. I sat on the end of a jeep and beat drums and so on. But one man, I remember, Bob Wilson, was just sitting there moping.

I said, "What are you moping about?"

He said, "It's a terrible thing that we made."

I said, "But you started it. You got us into it."

You see, what happened to me—what happened to the rest of us—is we started for a good reason, then you're working very hard to accomplish something and it's a pleasure, it's excitement. And you stop thinking, you know; you just stop. Bob Wilson was the only one who was still thinking about it, in that moment.


  1. Make learning fun. You won't get very far otherwise.
  2. "I learned that innovation is a very difficult thing in the real world."
  3. Don't overestimate your competition. You never know when the fifty person chemistry team you're competing against turns out to be just Feynman and a bottle-washer.
  4. "Learn what the rest of the world is like. The variety is worthwhile."
  5. Be afraid when you find yourself wanting to drink or do drugs spontaneously.
  6. "To be a practical man was, to me, always somehow a positive virtue, and to be 'cultured' or 'intellectual' was not. The first was right, of course, but the second was crazy."
  7. "I've very often made mistakes in physics by thinking the theory isn't as good as it really is, thinking that there are lots of complications that are going to spoil it—an attitude that anything can happen, in spite of what you're pretty sure should happen."
  8. Don't worry about how esteemed anyone is in conversation, worry only about your ability to reason through the matter at hand. That's the type of person who the esteemed surround themselves with.
  9. Feynman on imposter syndrome: "You know, what they think of you is so fantastic, it's impossible to live up to it. You have no responsibility to live up to it!"
  10. "When you're young, you have all these things to worry about—should you go there, what about your mother. And you worry, and try to decide, but then something else comes up. It's much easier to just plain decide. Never mind—nothing is going to change your mind."
  11. When asked about his experience at an interdisciplinary conference on the "ethics of equality": "This conference was worse than a Rorschach test. There's a meaningless inkblot, and the others ask you what you think you see, but when you tell them, they start arguing with you!"
  12. On grading elementary school textbooks: "The definitions weren't accurate. Everything was a little bit ambiguous—they weren't smart enough to understand what was meant by 'rigor.' They were faking it. They were teaching something they didn't understand, and which was, in fact, useless, at that time, for the child.
  13. "The first principle is that you must not fool yourself—and you are the easiest person to fool."

Proceed with caution

  1. Pursuing lucid dreaming for sexual excitement.
  2. As a professor, asking students at your university to pose nude for your drawings.
  3. Accepting a brothel owner's commission for a nude drawing.
  4. Testifying in court about the merits of a topless dancing bar.
  5. Going into a sensory deprivation chamber for 2.5 hrs on ketamine.


  1. Crawling around your floor trying to see you can smell your own footprints.
  2. Driving straight back to work after your wife's death and telling your coworker, "She's dead. And how's the program going?"
  3. Getting into bar fights in Buffalo.
  4. Picking up a girl by unironically telling her, "You...are worse than a WHORE!"
  5. Sleeping with someone at her motel after she tells you she's a newlywed on her honeymoon.

Sports are dumb

Published Apr. 14, 2021

I'd imagine most people reading the title are either relieved to finally hear what they haven't been allowed to say their whole lives or are already coming up with answers for why I'm wrong. I'm not talking about lowercase sports, the games we play for fun, fitness, and competition. I am saying that Sports — the televised media phenomenon involving following favorite teams, tracking stats, and arguing about players — are dumb.

There is an element of this which I think nobody will disagree with. Everyone at some level is aware that how many times someone throws a ball through a hoop or carries a ball past a painted line doesn't matter. And yet, people defend their love for Sports with a passion.

People often argue that their passion for Sports stems from their passion to see people reach pinnacles of human achievement and athleticism. But if this were the only or main reason, we would expect the most useful or relatable proficiencies to be the most highly esteemed. The fact that you know the names of more basketball players on a single team than you do master carpenters, ultramarathoners, and memory athletes combined should prove that this love for achievement is not the key factor.

Looking past the facade, Sports are really just a way for us to revel in our tribalistic tendencies in a socially acceptable way. They start off as normal entertainment and offer an easy way to connect with others and have fun. But at some point we find ourselves transformed from spectator to sports fan. When the outcome of the game starts triggering an emotional response, the player or the team becomes a part of our identity. And this identification with and glorification of Sports is where the heart of the issue lies.

What we tie our identities to, and thus what ends up getting elevated to celebrity status in society, is a reflection of our values. Ambitiously, we can think of values such as pushing the frontiers of human achievement or seeking fundamental truths. More simply, we can think of values such as living a healthy life or fostering loving relationships. But what values are reflected when we tie our identity to competition over useless games based on geographical location?

While this seems like a scathing review of Sports, I actually don't have a problem with just watching sports. Have fun and enjoy the spectacle of seeing giant superhumans dunk rubber balls! Just take a step back to reflect the next time you find yourself upset about a certain team losing or arguing about what a player ought to have done. What is it you really care about?

Stick to one club

Published Apr. 5, 2021

Stick to one club. Passion stems from honing a skill.

Through most of my schooling, I was almost never involved in extracurricular activities. Growing up, I chalked this up to my parents' haughty attitude towards such things and the constant refrain that studying was all that mattered. But reflecting on my previous post, I realize that there was more at play.

There was a steady stream of trying out what was "cool" or "strategic" such as basketball, Model UN, DECA, or FSAE but then dropping out after the first couple weeks when the novelty wore off and I realized that I wasn't very good. People talked about finding your passion and so I surmised that because I was not passionate about these activities, I should drop them. What nobody told me was that passion is found by building competency and not the other way around. By quitting everything which I didn't naturally excel at, I kept eluding the very thing I was chasing. It was not until starting a full-time job, in which quitting wasn't really an option, that I started to see the joy of developing a craft, regardless of what that craft is. Suddenly I found myself interested in things I'd never thought about in my life such as graphic design, public speaking, and data analysis.

We often poke fun at "sellout" careers such as accountant or management consultant. "Who ever grows up wanting to be an accountant?", we jest. Now don't get me wrong, having met plenty of accountants and consultants, I can confirm that there are no shortage of sellouts and people "playing it safe". But what's missed is the large number of people who found their passion as they honed their craft, something that those repeating the tired trope likely have not experienced.

The hidden beauty of a club or profession is the sense of community that comes from surrounding yourself with people dedicated to honing the same craft. Through competition and camaraderie, the spark of passion grows into a flame. Seeming trivialities such as accounting exams or tech conferences become rites of passage and hotbeds of learning. So much depth becomes available in the simple exercise of coming to terms with your own incompetence. Stick to one club. Passion stems from honing a skill.

Do one thing

Published Apr. 4, 2021

Do one thing at a time. Stop multitasking, it's a lie.

One of the worst habits I had built up was trying to do more at once, thinking that this was the key to productivity. This idea even pervaded into relaxation where listening to music, reading, chatting with friends, watching TV were more often done in concert than alone or even in pairs. And my god what a cacaphony that was. What felt like speeding at 100 mph through the climax of Limitless, was really my brain working on overdrive to complete the most mundane tasks with minimum comprehension. Unfortunately, my psyche finds the intensity of the overstimulation to be far more addictive than the sobering reality of how half-hearted my messages were or the inability to recall which songs had played for the last 30 minutes.

Overcoming that addiction to stimulation is a Herculean task. Like the hydra, two new notifications or recommendations pop up for every one we are able to ignore, leading to that all too familiar fatigue on the other side of a YouTube black hole. And yet, we're all aware of the perfect contentment, even bliss, that comes from concentrated focus. I'd urge my younger self to think about the conversations with friends where the rising sun was the only reminder of how much time had passed. To think about the twilight hours before an exam when stress finally took over and problem sets started melting away. I'd urge him to answer honestly which moments truly resembled happiness and productivity.

While this realization would have been no panacea for distraction, it would have at least served to dispel the myth of multitasking. That it was not just an inability to multitask correctly but a misguided pursuit altogether. And in that dispelling provide at least a moment of clarity on what is really worth pursuing. Do one thing at a time. Stop multitasking, it's a lie.

Go to class

Published Apr. 1, 2021

Go to class. Don't worry about notes or what you miss. Just show up.

One of my top regrets in life is my abysmal class attendance in university. I'd imagine a plot of my class attendance vs time would look almost like a perfectly straight line from 100% in the first few months of freshman year to 20% in the final months of senior year. The regret does not stem from the lost GPA but rather the lost learning. I can already see my younger self rolling his eyes and mentally checking out. And as this is a directive for that younger self, this seems like a lost cause. But bear with me, since I think there is something that younger me missed.

Going to class is the best way to passively learn and collect extra GPA. Like reading, going to class gets built up as this great virtuous activity; one that requires the utmost attention, pre-reads, furious note-taking, and questions that are 9 parts flexing your understanding to the other 150 kids:1 part clarification. And yes, those will all absolutely enrich the experience. But the beauty of class is that you still gain something with absolutely none of that.

As mentioned in Mortimer J. Adler's condescendingly yet aptly-named How to Read a Book, it's important to get the gist of a book before really analyzing it. On the first pass, focus on what you do understand, instead of what you don't. This seemingly simple advice contradicts most of schooling where you can't progress until you understand. And I think this simple shift in focus, away from frantic dictation to a laidback absorption of occasional insight, is what's missed. The rest can (but probably won't) come later. Take the freebies while you can. Go to class. Don't worry about notes or what you miss. Just show up.

Just keep reading

Published Mar. 30, 2021

Just keep reading. Doesn't matter what, doesn't matter when, doesn't matter for how long. Just keep reading.

I, like most people my age, used to love reading as a kid. Like seriously love it. To the point where my mom would have to come take away my flashlight after a new Artemis Fowl or Harry Potter book came out so I wouldn't stay up all night reading. And yet, as I grew up and video games got fancier, broadband internet entered our home, and the nightmarish social pressures of puberty became a thing, I forgot about reading. It wasn't a strong conviction or anything, it just simply faded away. Reading became an activity for school, not for fun. And then at some point reading became a virtue, a painful rite of passage to show how smart you were.

As a result, it took me a full decade to start reading again. And many months after that before I started reading for fun. Ten years of learnings gone, emotions not experienced, perspectives unchallenged. It was a quote from Naval Ravikant that made me realize what I got wrong 10 years ago.

Everybody I know who reads a lot loves to read, and they love to read because they read books that they loved. It’s a little bit of a catch-22, but you basically want to start off just reading wherever you are and then keep building up from there until reading becomes a habit. And then eventually, you will just get bored of the simple stuff.

There were plenty of books that I loved to read but at some point that seemed like the wrong thing to do. Reading for fun was no longer cool and then over time, it became a big thing. A reminder to drop the pretense and just pick up a book, any book, when I'm restless or on vacation would have been great. Keep the habit, embrace the guilty reads! Just keep reading. Doesn't matter what, doesn't matter when, doesn't matter for how long. Just keep reading.

Directives for a younger self

Published Mar. 29, 2021

Every time I read the work of wunderkinder like Vitalik Buterin or Patrick Collison, I find myself awestruck by what they had accomplished at such a young age. During the time in which they were reading cryptography papers and great Western classics, I was busy organizing drop parties in Varrock and PQs in Kerning City. Take Patrick's advice for 10-20 year olds for example. How many 10 year olds could actually internalize this? I'm not even sure that I was thinking on this level at 20 and can only hope to get there at 30.

This stark difference has made me wonder what advice would have reached through to an obstinate arrogant younger me. While I don't think I could have convinced that self to read esoteric books or practice meditation, I do think that simple directives summarizing the lessons could have piqued some curiosity. And so, the next few posts will be my attempt at collecting some of these directives.

Directive #1: Always listen to your future self.

This is part of an effort to build a habit of writing, inspired by #100DaysToOffload. Please feel free to shame me into keeping some pace as I drop off on this.

Cafe privacy

Published Jan. 10, 2021

You ease into your booth for a cup of coffee with friends. It took a bit of convincing to get people to switch cafes but you’re finally here: WhatsCup. You’re aware of all the cameras overhead watching your every move and you know it’s still owned by Facebucks, the same parent company as the last cafe, but hey, at least the cameras here are closed-circuit and there are no hidden microphones at the tables. It’s to help serve you better you’re reassured.

“Another iced WhatsFrapp with the whip cream on the side?”, the barista asks.

You nod suspiciously; they’ve been tracking your purchases. But hey, it makes for more personalized service and at least there are no god damn mics at the table.

A few months pass and you catch a glimpse of a new notice by the entrance. Starting next month, all the footage and data will be shared with the rest of Facebucks. Who you talk to, when you visit, what you ordered — everything is now shared. There's no mention of an opt out. And what about the armies of third-parties Facebucks is affiliated with? You have to squint to read the fine print. It’s all shared with third parties as well. All to help serve you better you’re reassured. “Your privacy is our priority” it states boldly.

“Didn’t I say no to this a few years back? What about the the sign reading ‘You control your privacy’?”, you ask.

You think you hear the camera overhead zoom in a little but you’re not sure.

“Management”, the barista shrugs apologetically, “Can I get you another iced WhatsFrapp?”

You look down the street at Sig & Nal’s. It’s a nonprofit with a 4.8 star rating and prides itself on just serving you and your friends coffee by donation; no cameras, no tracking. They even have the building plans available for anyone to verify.

You look back at your friends settling into the usual booth, unfazed, and the sea of cameras silently watching overhead. What do you do?

Don't know thyself

Published Nov. 15, 2020

When discussing the topic of change or trying something new, I often hear the refrain, “I know myself, I wouldn't like X” or, “I'm not a Y person”. And while there is much wisdom and value in the old aphorism of “know thyself”, I think we would all stand to benefit by knowing ourselves a little less.

As Yuval Noah Harari summarizes in Sapiens, humankind has been driven by shared, often subconscious, narratives. And while these narratives have enabled us to send people to the Moon, they have also served as the backbone of every bloody war. And while it can be easy to unsubscribe from shared narratives, it's important to realize that there are a great many internal narratives we carry as well. And similarly, our internal narratives can bring out the best and the worst in us.

For example, throughout most of my life I had a crystal clear, staunch understanding—nay a fact!— about myself, that I was not “a morning person”. What exactly “a morning person” was I did not know but I was certain that my 4:00 am – 12:00 pm sleep schedule in university certainly disqualified me from consideration. Fast-forward a couple years and after being in a situation in which I could enjoy a nice hot breakfast and flat white only if I woke up before 6:30 am (early birds do get the worms after all), I decided that the alone time and free meal were worth an earlier alarm. Seemingly overnight, I started to hear all my coworkers say how they could never do the same because they were not morning people. How could this be when I was not a morning person either? What had changed? All I had done was tap my phone a couple times to dial my alarm back.

Simply put, I just let go of a narrative. I learned that my “I'm not a morning person” narrative was as bogus as my childhood “I'm a boy and boys like cars” narrative. What took precedence was the narrative of “Of course I can do this”, a less confining and yet equally self-fulfilling mantra. And loosening this rigid sense of identity has led to so many (generally positive) changes that I'm left considering the ship of Theseus and how illusory this whole identity thing was to start with.

So next time you're faced with a positive change that seems way out of character, don't “know thyself”. Take a second to think of whether the change aligns with who you want to be instead of who you are. And then simply try. You'll inevitably wake up at 1:00 pm on a weekend but that's okay. Drop the “I'm failure” story and just try again tomorrow. You'll be surprised at who you can be when you stop trying to be who you are.

Demystifying the logistic regression equation

Published Oct. 1, 2020

After thinking about the whole logistic regression thing for a while, I was confused how we got to the magic e^x function considering our goal was merely to go from a crude linear approximation of a probability to a meaningful probability bounded between 0 and 1. While there are infinitely many ways to get there, here are a few arguably simpler examples I came up with to also achieve the same outcome. Notably, I was curious why we do we not use the x/abs(x) version when that gives us a much crisper binary outcome?[0]


The problem breaks down into answering the following:

  1. How can we make sure our output is positive?
  2. And how can we make sure our output is bounded at 1?

But thinking about this, we can see that there are infinitely many ways to do this. So again, why an exponential?

I can come up with intuitions that help us understand why we use the equation we use[1]: An exponential reflects the idea that an increase in X result in an increase in p(X) and a decrease in X results in a decrease in p(X). In other words, a negative coefficient means a decrease in probability and vice versa.[2]

Exponentials? ☑ Lines? ☑ Squares? ☐ Absolute? ☐

An exponential, by definition, reflects the idea that the effect a step change in X has on p(X) depends on our current value of X.[3] In other words, if we’re considering the effect of income on probability of default, it matters whether we are going from an income of $0k–$10k vs $200k–$210k.

Exponentials? ☑ Lines? ☐ Squares? ☑ Absolute? ☐

And what about the +1 in the denominator? We could have used any number > 0. It seems 1 is just a convenient choice to help give meaning to p(X) / (1-p(X)). We could just as correctly use +2 or +3, but then we would just be carrying around a factor of 2 or 3. So we just pick +1 arbitrarily to make things simpler.

Hopefully these ramblings kind of help understand the seemingly magical appearance of e^x in this application. As with a lot of other statistical applications, the formula chosen is due to thoughtful convenience and not an absolute truth.

[0] You can just as legitimately use x/abs(x) to create your own binary classifier.

[1] These may not be the actual reasons why this equation was chosen…

[2] I guess this really just means that we want dy/dx > 0 for all x?

[3] I guess this really just means that we want d^2y/dx^2 ≠ 0?