CDAP: a revolutionary way of working with AI agents

I have adopted a new way of taking on complex projects, and it is radically increasing my productivity. The idea is simple: I use documents as the shared canvas for collaboration between myself and chatbot sessions. The result is far more powerful than the sum of its parts.

I call it chatbot+document-assisted projects, or CDAPs.

Continue reading “CDAP: a revolutionary way of working with AI agents”

Truly persistent terminals in VSCode and Cursor

There are times when I am embarrassed to realize that I have accepted a painful limitation for years. In this case, it is my resistance to restarting my IDEs because I don’t want to lose my terminals. Now, thanks to a burst of motivation and a modern chatbot, I’m setup for my IDEs to resume exactly where they left off.

Continue reading “Truly persistent terminals in VSCode and Cursor”

$5 millionaire for a week: riches to rags in the startup world

For a few brief moments, my stock holdings in my former employer were hypothetically worth $5 million. This is the wild story of how I realized less than 1% of that value.

I’ll be pretty specific about some of the numbers, because equity compensation is a mystery to most people. Until I went through this, I never knew what’s possible and what’s normal. It’s a very complicated topic, but I hope that by sharing a real world situation, someone else might be able to learn something useful.

Continue reading “$5 millionaire for a week: riches to rags in the startup world”

Ready or not: The Fake Story of Music

A cartoon rocket ship launching, leaving behind an exhaust cloud and musical notes

For almost a year, I have been crafting and re-crafting a project I call The Fake Story of Music. It has been stuck in its present state for more than half of that time, and there’s so much more I want to do before it matches the vision in my head. However, I think it’s already pretty good and I’m letting go of my perfectionism.

Start with the story behind the fake story, or jump right in.

Let me know what you think in the comments on this post.

LLMs think

An “AI brain”, rendered by ChatGPT

It’s interesting to see scientific people categorically reject the notion that LLMs “think”. People write them off as “fancy autocomplete” or regurgitating their source material, and conclude that they do something categorically different than what humans can do. That it’s all just a parlor trick. I think1 that’s wrong.

Continue reading “LLMs think”

GraphQL was not the future

GraphQL Logo
The GraphQL logo. Credit: the GraphQL Foundation

Six years ago, I wrote Is GraphQL The Future? for the Artsy Engineering Blog. At the time, I thought it was possible devs might bypass REST and reach directly for GraphQL when designing APIs. We can now confidently say that the answer is “no”, but I’m still very proud of that piece, and I think I was right about a lot of other things.

I find myself revisiting GraphQL for the first time since working at Artsy, and the piece has been a useful refresher. I think I really nailed describing what GraphQL actually is, rather than analogizing it to things it has fundamental differences with.

So, what happened to GraphQL?

Continue reading “GraphQL was not the future”

Rust: First impressions

My new company uses Rust heavily for its backend systems. I’ve been interested in Rust since its beta days, but only from a distance. I was very intrigued by the ownership system, which is Rust’s most distinctive and innovative feature. I also knew it inherited a lot from languages like Scala and OCaml. How hard could it be?

Read on for some loosely organized hot takes.

Continue reading “Rust: First impressions”

Arc of a job search

Credit: sk via Pexels

It is always helpful to have a roadmap for an unfamiliar experience. I did not, as I embarked on an intense job search. But maybe my reflection will be useful to others.

I noticed that the process has followed an arc. Much like chess, it has a distinct opening, middlegame, and endgame. Each of these phases has a very different feel, and has required me to optimize in different ways.

Continue reading “Arc of a job search”

Rejection is a gift

A cup of tea
Credit to Charlotte May, via Pexels

“I’m not everyone’s cup of tea.”

This is one of the big takeaways of my job search, as it nears its end. This is hard for me to acknowledge, as someone who can get along with nearly anyone and with a track record that highlights my versatility.

I don’t mean this in terms of getting along with interviewers. I mean in terms of people’s vision for the role they’re hiring for and whether I’m a high confidence match.

But I think that’s OK.

Continue reading “Rejection is a gift”