Tech

ChatGPT isn’t a decompiler… yet

Previous article: What I’m up to

Abstract / Results

It feels a bit pretentious to open a blog post with an abstract. However, I wanted to communicate up front concisely what I tried to do, and what the open areas of exploration are. Those who are interested can dig more.

I wanted to make ChatGPT into a magic decompiler for PowerPC assembly to supercharge the Super Smash Bros. Melee (“Melee”) decompilation project. I observed over a year ago that ChatGPT was surprisingly good at understanding PowerPC assembly language and generating C code that was logically equivalent. I also saw other papers that were attempting to use LLMs as decompilers.

Read more >

What I’m up to

A lot of people have been asking what I’ve been up to since I left Plaid at the beginning of this month. I was at Plaid for 4 years, which were amazing and I am very thankful for the amazing people I’ve met and work I’ve been able to do.

I am not funemployed, and I don’t want to evoke concepts related to that. I’m grinding harder than I did while employed. It’s such a gift to be able to have software engineering skills that have been forged in a real tech company, and then let loose on personal projects. I’m working on learning as much as I can about the AI space and debating if I should make that my next 4-year move. AI has been moving faster and faster, and there are so many toy projects I want to build:

Read more >

Choosing a Blogging Platform: Aesthetic and Technical Considerations

In my journey as a blogger, Iā€™ve published posts across platforms like Medium, Substack, and other proprietary blogging stacks. When writing more and more technical stuff, I realized that some stacks were definitely better than others.

When consuming other people’s blog posts, the first thing that stood out to me was aesthetics. You get an impression about the platform and the person simply by the details of how their text looks. Does their code have great, language-specific highlights? Do they use monospace + does their platform support it? How is the image formatting? What about the base color scheme?

Read more >

Why pay for Notionā€™s AI? I built my own auto-tagging tool in a week!

Originally posted on Medium.

I built the thing I talk about in this blog post ā€” if you want to check it out, itā€™s here!

Notion, like every tech company, has been shoving AI features down our throats for the last couple of months at the cost of customer UX. So I disabled them. You can do this yourself by just messaging support ā€” I got the idea from this Reddit thread, which is one of many. Ever since I disabled it, the UX has at least returned-to-normal, and performance of editing has increased (have you ever noticed how Notion lags a bit every time you press SPC so that it can show you the AI toolbar?).

Read more >

How I do window management in Mac OS X

Originally posted on Substack.

Brief doc I’m sending to my friendos

For transparency, Iā€™m going to recommend a paid window switcher I use for Mac OS X called Contexts. Itā€™s saved me so much time and has made using my computer a breeze; so much so, that Iā€™ve bound it to CMD+Tab. Iā€™ll attempt to justify this in the doc.

The default window management paradigm in Mac OS X, for me, left much to be desired. I grew up using Windows, which has a pretty different pattern for how you Alt+Tab between windows.

Read more >

I made a web app to get better at adding half-steps to notes

Originally posted on Substack.

Try it out here if you like pressing buttons as much as I do! GitHub if you like reading code.

During the holidays, I wanted to get better at answering questions like ā€œwhat is 7 half steps up from A?1ā€ I often found myself in the situation of having these problems as a lot of guitar chord sheets are written something like ā€œA capo 7ā€ which means you put the big barre thing on your guitar and play an A-shape chord. When using a capo, the actual underlying chord is ‘A + 7 half steps’. This means if you’re collaborating with another instrument or with someone not using a capo, you need to communicate the actual chord you’re playing. This requires some mental math, which I found slightly embarrassing as I didn’t always immediately know what chord I was playing.

Read more >

My Notes on Google’s TrueTime

Originally posted on Substack

edit: this blogpost was initially wrong when I published it. Thanks to some comments I got, I learned I didnā€™t fully understand TrueTime or Spanner ā€” Iā€™ve spent some time learning and understanding the core concept again, and have updated this artifact. This is an externalized resource for me that I hope can be helpful for others.

When I was reading the famous paper on Spanner, Googleā€™s globally distributed linearizable database, I really struggled with the concept of TrueTime, which is a core component of why they were able to get their guarantees. After trying to wrap my head around it, I created the following artifact (IMO, TrueTime deserves a mini-ish paper or post on its own):

Read more >

Notifications Suck

Originally posted on Medium.

they really do. I have most of them turned off on my phone.

first, idk who to blame about these, but there is this class of notifications that are like

ā€œfeeling hungry? order UberEats now!!ā€

someone gave someone this lever to pull to increase engagement. the first someone upsets me, and i sometimes think about the other someone and also get angry.

i turn all of these off, when I can actually turn them off. in the case where an app doesnā€™t let me disable them, I turn off all notifications for that app. theyā€™ve lost my trust.

Read more >

Some quick git (and zsh) workflow optimizations

Originally posted on Medium.

I use git a ton in work and my personal life, and have come up with a couple of aliases that have made using it so much more pleasant and fast. First, Iā€™ve renamed git to g. You have no idea how much typing thatā€™s saved me (I also donā€™t know).

alias g="git"

Aliases

git allows you to alias commands. In the spirit of renaming commands to one character, here are my favorite aliases:

Read more >

Iā€™m against AIs writing blog posts

Originally posted on Medium.

Why do we need AI to write blog posts? Thereā€™s been a trend of these AI tools to write things for you:

Imagine you have something to say to people. So you come up with some representation of that thing you want to say; maybe bullet points, maybe a rant, maybe even some markdown stuck in a GitHub repository. Why canā€™t you just publish that?

Read more >