Hi, I’m Stephen 👋

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 >

The first use of YHWH in the Bible is pretty odd

Originally posted on Substack

You know the first verse of the Bible, right?

In the beginning, God created the heavens and the earth.

Gen 1:1 NET

The word for God here is Elohim. There are some interesting tidbits about this:

The noun is in its plural form. Singular would be Eloah. While this seems really controversial, in most of the usages, it’s paired with a singular verb. AKA “created” up there is masculine singular. So it’s often interpreted as a majestic plural.

Read more >

Yom: Examining Creations Timeframe With Linguistics

Originally posted on Substack

I’ve often encountered Christians that believe the world was created in 7 24-hour days, because “that’s what the Bible says” in Genesis 1 and they won’t believe otherwise.

There are a ton of arguments against this “fact,” but I think the most compelling one is the linguistic ambiguity for the word “day” (yom) used in the creation account. First, let’s take a look at an English translation for one of the days of creation:

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 >