10 years of Stuck

Today, more than 10 years ago, I was sitting at my desk working at BillFloat and it was past 6pm, almost everyone was gone from the office. I was sitting there and I heard a song coming from a coworker’s computer. I half got up and looked over and he saw me and apologized for playing music off his speakers, he thought nobody was in the office. I said it’s no big deal, I like the song. He told me what song it was. It was “Stuck” by Contriva (the superpitcher remix).

The next 10 years have been marked with me listening to this song in times of stress, joy, sorrow, and almost anything else that came to me.

From 2008 up until about 2014, I discovered almost 80-90% of the music I listen to. Whether it was older music I had never heard before my time or new music coming out. I will occasionally discover a new song or album today but back then, I was consuming music like air. I was listening to 5-10 new albums a week and listening to at least a thousand new songs a month.

This song stuck with me because it reminded me of that feeling of being in flow and being so immersed in work that I was caught completely off guard when I first heard it coming from my coworker’s speakers. I was sitting there, writing most likely some JS or CSS at the time. And it just gave me a sense of warmth and comfort I couldn’t describe at the time. Now I hear it and I’m reminded of the naïveté and hope I was filled with at the time, I didn’t really know what the future held and I didn’t care. I was happy where I was sitting and working.

I met some amazing friends there and I learned some important things that stuck with me throughout my career.

There’s not many other songs I know by Contriva or Superpitcher. I decided that finding a piece of art that will stick with me is enough. I don’t want anything else from the artists. Musicians are evolving people and realizing that one song or album can’t be all that they are and they will keep producing new music we might like or hate but it doesn’t change what they’ve given us already.

This feeling has become even more prevalent with some other indie folk rock artists I listen to especially Fleet Foxes, Bon Iver, and Sufjan Stevens.

I have been journaling in private about my dad’s passing recently. I have a hard time properly writing and honoring my dad’s life and I think it will be very hard and take a long time for me to write about him. I wanted to write this post because it sort of gives me a sense of hope, sense of semblance, something I have been missing the past month or so. I haven’t been able to cope fully yet and I’m struggling with that at the moment. I will hopefully find enough strength to write more in the near future.

Challa 9 9 9

Oh Challa pa-ya

ਹੋ ਛੱਲਾ ਨੌ ਨੌ ਤੇਵੇ, ਹੋ ਛੱਲਾ ਨੌ ਨੌ ਤੇਵੇ

There’s a lot of covers of this song, especially the well known version by Gurdas Maan. The original really sits strongly as a soulful piece of art it is.

Here’s the Gardas Maan version:

The earliest version I could find on Spotify is this one from 1981 from Shaukat Ali himself (a bit less poppy compared to the first one I posted):

Coloring book was good

To my slow eyes and ears, Chance the Rapper came and went so quickly, I had a feeling music was about to get a different flavor of hip hop but it felt so short-lived. There was a short of bright music that came from him and now I’m looking around to find it but it seems to be long gone.

Here’s a song I always liked:

It’s simple and the rap from Chance is amazing.

Centralized means you might lose access to your decentralized assets

I recently watched a TikTok in which an interviewer asks a person if they believe Bitcoin is a scam. The answer is a well articulated reply in which the interviewee mentions that the idea behind Bitcoin is great, it started out as a decentralized network that is/was a pioneer in proving an asset can be decentralized and by using the cryptographic hashing to prevent easy takeovers of the network. As anyone who has tried to gather a group of to do literally anything, it’s pretty impressive that Bitcoin and other early cryptos have been able to attract millions of people (but I guess it’s easier when there’s a promise of gold at the end of the rainbow 🤣).
That interview ends with the interviewee mentioning that the crypto market has become yet another example of where the Matthew Effect is present, the whales control the market pretty well and exchanges like Crypto.com and Coinbase are just custodial accounts disguised as crypto wallets for the average person.

For the past few months, that last bit has really been on my mind. Coinbase does give you many crypto addresses and they all seemingly look like real wallet addresses. They might even be but one clue that sort of proved the opposite for me was the fact that XLM transfer require memos and if a memo is missing, the money will never make it to your account. Guess what the memo means to Coinbase? It’s your user account identifier. Real crypto wallets, the non-custodial versions, usually don’t require you to have memos set when sending to your address. Because the memo is just that, a memo on a transaction (just like a note on a paper check, meaningless to the machines, meaningful to the few exchanging money).

Today, I saw Fortune article mentioning that Coinbase admits all crypto held within their exchange could be subject to bankruptcy proceedings, meaning it would be an asset of Coinbase, not individual users. I went and looked at the PDF of their earnings report mentioning this. And yeah, it really does say that with a bit more legalese.

Moreover, because custodially held crypto assets may be considered to be the property of a bankruptcy estate, in the event of a bankruptcy, the crypto assets we hold in custody on behalf of our customers could be subject to bankruptcy proceedings and such customers could be treated as our general unsecured creditors.

Page 83 under “Our failure to safeguard and manage our customers’ fiat currencies and crypto assets could adversely impact our business, operating results, and financial condition.”

I’m attaching the PDF in case the link becomes stale or lost.

So it does seem sort of stupid to hold my money within Coinbsae in any case, so I’ve moved most of my money out of it this morning to a software wallet, you can find a list of crypto wallets here → (make sure to not use Coinbase’s 🤣.

Ditching Notion for logseq + obsidian, so long to proprietary formats

I’ve decided to not renew my Notion subscription after being a customer for 4-5 years now. I consider myself to be a pro user of the Notion app and have been a huge proponent of the product in general since they launched. It was a great alternative to incumbents at the time like Evernote and SimpleNote or even Google Docs. But what allowed Notion to move so fast early on has now crippled its ability to continue tacking on features.

Notion’s desktop client is built using Electron or some flavor of a JS-as-a-desktop app tool that allows the devs working on the product to move at the speed of producing web features. For most web app, you don’t have thousands of documents or rows of data to work with, especially formatted rows, and this has recently caused problems for Notion. Enough that Notion has made great efforts to work tirelessly on this. But this is not the reason I’m leaving Notion, it was one of the pain points that’s easy to point out.

I’m leaving Notion mainly due to its closed ecosystem of keeping everything in proprietary formats and allowing embeds of other things but still being mostly closed. Notion’s not the first do this, I believe Web 2.0 is just full of examples of this. The lack of openness leads to no real collaboration or sharing of content between multiple types of editing software, whether I want to use Notion’s nice looking UI for editing a database table and then actually exporting that to something like Excel or exporting a legible markdown file. All this is somewhat possible but it feels not so great. Especially editing of database rows.

A good example of just how bad markdown editing is this exported view of my Travel page from my Notion workspace, everything is illegible from a human point of view, see screenshot below:

Even worse is the fact that the workspace is unusable in any other software like logseq, vim, obsidian, or even a file browser.

Below is the graph from loqseq when I pulled in the Notion workspace:

It’s impossible to make sense of this graph since everything has insanely long names and the relations don’t make much sense.

I’m hoping to use Obsidian as my primary tool for things at work and logseq as my personal digital mind. Why the separation? I like having my work stuff completely separate from personal stuff to avoid any important and non-public information from leaking anywhere. Even leaking between my personal and work computer, that would not be okay in any case.

I will have to start over on logseq to organize my digital mind but I hope that the effort is worth it.

On paying for software

I am a strong believer of paying for good software, this is why even though I had decreased my use of Notion over the last year to once in awhile, I decided to continue paying for it but recently the $48/year is not really worth its cost anymore to me and I’m going to move that to other software I use daily or benefit from daily.

Spending a week with my parents

The past week, up until last night, I was spending time with my parents. This is the first time I’ve spent significant time with my parents since I moved out almost a decade ago. It lined up nicely with Eid al-Fitr which happened last Monday.

The first half was spent in California, visiting my parents and siblings from Saturday to Wednesday. Then Wednesday evening we flew out to Portland.

It’s odd having to host your parents. I never thought about this much until it happened to me. Kristen hosts her parents often, 2-4 times a year and has done so for at least 5 years now. This was my first time.

The part spent in California wasn’t too much since there was a lot of things going on at the house, Eid preparations happening, and all the nieces and nephews running around.

Starting Thursday morning up until last night, it was pretty hectic. My parents were staying at my new house in Portland for the first time and they had something to say about every little thing. From how there are too many trees near my house to how little room there is in the garage. I had to repeatedly mention that 122 years ago when this house was built, cars were not really a thing. For instance, my house was built in 1900 and the Model T became available around 1908. And I’m sure it took even longer to consider building houses based on cars being a primary mode of transportation. I’m sure horse drawn carriages were a thing but they probably didn’t have the need for multiple of those (I’m just guessing here).

Seeing my parents made me think of the movie The Namesake as it reminds me a lot of my parents’ early years in the US. It really gives me a nostalgia I only feel through the settings in the movie. I feel a strong parallel between the parents in the movie and my parents, especially about the time when they first arrive in the States and misunderstand or misinterpret cultural norms. I feel a strong urge to share photos of my parents’ early life in the US but at this time I feel it might be too much for me to expose their lives and faces to an unknown world of the internet.

Upcoming plans

My parents are planning on visiting Pakistan for a few months. I’m going to miss them and also I feel happy for them to be able to spend more time there this time around. Hopefully, the politics of Pakistan don’t get in the way.

The bygone photos of people in offices

Me in 2015

I am visiting the New York City office for my work this week. I am tagging along Kristen on her work trip and decided to into the office. It’s similar to the San Francisco office, has most of the elements, albeit toned down a ton and the population is sparse due to the pandemic.

I’m getting settled into the office and one of the things that really stuck out to me was the fact that there’s photos of people on the walls. Not the photos taken by the office teams (office events teams, front desk people, or anyone like that) for office morale or promoting employees amongst theirselves, but candid shots of someone doing work or two colleagues hanging out talking about something.

The genuine smiles and moments get caught in time and glued to the wall as if these will reoccur but it really makes me wonder, would those past selves of us know how we feel now? In offices with strangers who happen to work at the same company as us but not relateable due to the fact that a 2 year hiatus of being at the office really has made the office just that, a place to work and nothing more.

I went through my old photos and found one of me where it’s meta as it can get, there’s another photo of me working in the same office from a different angle. Young me was an ambitious guy, my desk is still as messy as back then.

A retro on the Bookends alpha

From December to February, I was pushing hard on building out the Bookends app, especially during the end of year break that gave me about 10 days to work on it while being off work. It acted as a catalyst allowing me to launch a working version of the website and then start adding features.

Keystone’s good and bad

I chose Keystone.js as the CMS for storing my data and helping me manage models and quickly get off the ground. Keystone’s beautiful marketing pages really sucked me into using it. It comes with a lot of batteries included features like a working schema and migration approach (using Prisma) and a GraphQL UI and API to be used for easy building and testing.

All good things aside, it does have its limitations. Debugging Keystone on a deployed server is tough, errors are hidden away and if something breaks, the admin UI doesn’t really show much information about it either.
A big nuisance for me recently has been the fact that interfacing with Prisma settings is practically impossible. This came up because I was having some connection pooling issues which led me down the path of looking for what exactly is causing slow search results from coming back. Turns out, Prisma was unable to handle more than 5 simultaneous searches and that was problematic as I only have a dozen users and they are not searching at the same time, those 5 searches are done by me to stress test even a tiny bit.

Next.js and typescript are great

I’ve grown to love Typescript’s strict approach to making sure I’m not deploying shitty code. When starting out, I was getting frustrated with type errors and the linter in VS Code bothering me so much but as time went on and my natural instinct to make sure the type was added made working with typescript pretty straight forward. And it has made me really think about what I’m trying to do with a particular function.

Next.js has been a very helpful tool as I’ve used Vercel to deploy and once getting over the learning curve, I’ve started to produce useful code more and more.

Upcoming plans

I’m hoping to continue working on the UI as I have a ton of things to add but I’m really rethinking which approach to take for the server-side implementation. I’m most likely going to go for a JS/TS based server-side approach that will not be Keystone.js.

Feature dev has been halted as most weekdays I don’t have energy to add on code after work and I’m thinking of clearing out my mind and queue of tasks to focus on getting the foundations right.