What I use

Hardware

My main workstation is a 2021 Macbook Pro1 with the M1 Pro chip.

When working from my desk, I use a Microsoft Sculpt Ergonomic keyboard2, and a big additional monitor. Using a laptop stand to lift the laptop to eye level is a must.

Software

In my Mac setup, I heavily utilize yabai, skhd and karabiner-elements. With enough tinkering, it is possible to recreate most of the i3 tiling manager experience. 3 My setup is based on these dotfiles. For Linux desktops, I use Arch Linux (btw) with i3. 4

While I often work on a local machine, I definitely prefer using the laptop as a thin client to a remote server.

I was a very early adopter of both Cursor and Claude Code. As of Sept 2025, I prefer Claude Code, but I still use Cursor as an editor, for its low-level editing features, and to occasionally ask GPT-5 if Claude is stuck. Models have blind spots.. I write a new CLAUDE.md / .cursorrules file for every serious project. Here is a template. On larger projects, I find git worktrees quite useful; a natural setup is to have each GitHub issue spawn a worktree, and for Cursor to open the parent directory.

Some indispensable VS Code / Cursor extensions are JSON Lines Viewer, LaTeX Workshop. I like ruff as a pre-commit hook, and if you use that, use the Ruff extension too.

Regarding editor visuals, I use Solarized Light, and Monaspace Neon as my font with texture healing and ligatures enabled.5

I used Devin in early 2025, and it was okay. Key tricks I’ve learned for coding agents in general: sample a prompt multiple times right away instead of repeating after it fails; read the plans it delivers (because this is the point that makes or breaks the run most often); and keep the sessions short.

For virtual environments, ditch any Conda-like software, and just use uv run. Seriously. While we’re at basic Python tips: (0) use uv; (1) a simple Python tool that it is easy to forget about but is very valuable when you need it is py-spy; (2) spending 10 minutes learning what asyncio actually is might be among the most valuable 10 minute intervals in your engineering career.

For navigating inside a terminal, fzf and z are great. You should set unlimited history size. For running many experiments, I launch a tmux session with multiple panes from a script. When I am not inside the Cursor terminal (where Cmd+K is good), I also like Simon Willison’s suite of tools: llm, llm-cmd and files-to-prompt. Python-based global tools such as these are always better installed with uv tool install instead of pip or using a virtual environment.

For automating git commit messages, as of Sept 2025 I just ask Claude Code or Cursor to commit. Don’t bother with specialized tools.

I paid for TypingMind, and there I chat to Claude / GPT-5 / Gemini APIs about all sorts of things. It supports asking multiple models at once and synthetizing their responses. In addition to these, as of November 2025, I use all of Claude, ChatGPT, and Gemini native apps every day. Gemini I use exclusively for two features: (1) Deep Think; (2) image generation. I also use ChatGPT (with the ergonomic Option+Space shortcut) quite often, on a bimodal distribution of queries: very quick questions where opening up a TypingMind window is overkill, and tasks where I want to use OpenAI Deep Research or a reasoning model. The Claude app I use the least; mostly for feedback on my writing.

My writing process combines various tools for different purposes. I often begin by using superwhisper to dictate initial drafts into TypingMind, then chat with Claude until I’m satisfied with the result. I generally spend a lot of time in Google Docs. I used to write my newsletter in Obsidian to take advantage of its Smart Composer plugin; but as of early November 2025 I’m back to Cursor now for the tab completion features. For rare types of structured notes, I still rely on org-mode in Spacemacs.

I use Espanso for a bunch of things, e.g. :daydate -> current date in dayofweek, Month DD, YYYY format, :gpt5 -> gpt-5-2025-08-07, and so on. It works on all apps where you type text.

For keeping work todos, I use Todoist; check this guide for how to use it.

I am subscribed to Setapp, mostly for Timing and Cleanshot X. I do not recommend Bartender anymore as of Oct 2024, and recommend paying $5 for Ice instead.

I endorse Anki, especially the mobile version.

I highly recommend setting up Google Alerts to track mentions of your name or pseudonym. Recently I’ve been using Beeminder to be more disciplined about the fraction of the time I spend on writing.

Web

I use Firefox with the following life-saving extensions: vimium, OneTab, uBlock Origin, Enhancer for Youtube, and Tab Notes. I am consistently impressed by how much value Tab Notes brings me in particular.

In Firefox (and perhaps other browsers), you can add bookmarks to LLMs and search engines like this:

- Name: ChatGPT
- URL: https://chatgpt.com/?q=%s
- Keyword: c

- Name: Claude AI
- URL: https://claude.ai/new?q=%s
- Keyword: cl 

Some online tools I like: repo2txt, AoE clock. See also Simon Willison’s list.

Food and health

Meal replacements

While in Switzerland, I’ve had good experiences with Saturo. In general, replacing snacks with meal replacements seems to have little downside, mostly because sweets, soft drinks, and other popular snacks have genuinely horrible nutritional profiles.

Most tasty sweets aren’t even cheap, and I’m genuinely confused why they seem so popular compared to meal replacements and protein bars.

Ready-to-drink meal replacements typically have a protein/kcal ratio of about 0.05g. If you’re trying to gain weight and are hitting your daily protein target from other sources, you can get away with consuming a large fraction of your calories from meal replacements. If you’re cutting or maintaining calories, unless you have a very low body weight, it’s not advisable to subsist only on meal replacements. The fact that liquid calories aren’t as satiating as solid ones will do you no favors either. For reference, an 80kg man trying to lose weight without losing muscle mass should aim for roughly 160g of protein and 2000kcal daily, for a 0.08g protein/kcal ratio.

Saturo has, as of June 2025, a 0.09g protein/kcal ratio, putting you north of the recommended protein intake. It is 50% fava bean and 50% soy protein (confirmed by Saturo support).

The human body requires 20 amino-acids to build proteins. 18 of the 20 are adequately supplied by the 50% fava bean / soy protein mix, if you take enough of it. The remaining two are called methionine and cysteine; these are the only two amino-acids that contain sulfur. Readers familiar with protein design might recall methionine as the amino-acid corresponding to the start codon (AUG); this means that the process of protein synthesis from RNA always starts with a methionine. Naively, it would seem it’s pretty important to get enough of it! However, restricting methionine is considered one of the most promising approaches to human longevity, with robust extensions of lifespan in mice. I’m not sure what to think here. For reference, foods high in methionine and cysteine include whey, casein, egg whites, lean meat, brazil nuts, and sesame seeds.

Consuming only meal replacements can lead to deficiencies in micronutrients not covered in the primary nutrients (protein, carbs, fat, basic vitamins and minerals) that meal replacement makers focus on. This issue isn’t exclusive to meal replacements; many people don’t eat enough diverse foods to cover their micronutrient needs. I recommend near’s supplements review6 if you want a technological solution to this problem.

You can also try to consistently eat plenty of fruit, vegetables, nuts, seeds, and other nutrient-dense foods.

My main concern with Saturo is that, as of June 2025, the ingredients kind of also try to cure for all mineral deficiencies, in addition to just providing the primary nutrients. For instance, even 1000kcal of Saturo provides 20mg of iron, which is 2.5x the recommended daily intake for an adult male. (Reproductive-age women need significantly more iron.) If you consume most of your calories from Saturo, you’re effectively getting supplementation of iron, potassium, magnesium, manganese, zinc, copper, and selenium, without much choice in the matter. For most of these minerals, being physically active helps offset this in your favor as you need more of these nutrients than if you were sedentary. It’s unclear what the long-term health effects of a diet consistently rich in iron, manganese, magnesium, and similar minerals might be; even 3000kcal of Saturo daily would still be below acute toxicity levels, but nutrition science is a mess.

Supplements

This varies, but I have experimented with the Blueprint pill stack (Essential Capsules, Essential Softgel, NAC/Ginger/Curcumin, and Garlic/Red yeast rice), fish oil, beta-alanine, glucosamine sulfate, and creatine monohydrate. Of all of these, only creatine has clear and apparent effects that I have personally observed. Dry scoop your creatine.

Note: If you’re reading this, it’s statistically likely that you should take vitamin D. If you think this doesn’t apply to you because you do outdoor sports often, you should still apply sunscreen (if you’re male and dislike cosmetics, don’t be that guy! Skin damage from UV exposure isn’t manly, it’s just harmful), and you might also benefit from taking glucosamine sulfate.

Electrolytes

During exercise or a physically demanding workday, the body needs water, but also electrolytes (mainly sodium and a bit of potassium). I take the Waterdrop Microlyte cubes. Electrolyte connoisseurs will likely be shocked by the price (more than $1 per drink); but one thing I’ve noticed about the situations when I need electrolytes is that I very often have access to water for free, but actually having the electrolytes with me is the hard part. There are several other options I’ve seen, and all of those are less convenient than the cube form factor:

Compared to the above options, the cubes are just extremely convenient, I carry some in my pocket and just drop one in whatever water container I am drinking from. The main downside of Waterdrop cubes is the chemical composition: they don’t have sugar, and a small amount of sugar is supposedly good for absorption; I generally dislike sugar so I’m okay with sugar-free options.

Physical items

I wore glasses for work for a long time. My prescription is low, so I can see okayish without them, but e.g. I couldn’t read the whiteboard in class. I had a bad experience with contacts as a teenager, so I didn’t try them again until recently. It seems the contacts I used to wear were just shitty. In retrospect, of all the things you want to consider saving money on, contacts might be the worst choice. Get an optometrist to give you samples of a few different types, and get the ones that work for you, no matter if you spend $0.5 or $2 per day on them.

I’ve had mixed success with sleep masks for regular sleep; though they are clearly useful on flights.

Clothes

Pants: I own Brax Woolook Flex pants; very comfortable, they look and feel very much like wool to my untrained eye, are but machine-washable (not to mention cheaper). You can also go for real wool if that’s your thing. Jeans can look good but are rarely comfortable. I don’t really like chinos.

Shirts: Non-iron shirts are essential. Do long-sleeved shirts. You can get good-looking pants for anywhere between $100 and $200; good-looking shirts for $50-$100. It makes sense to pick your colorscheme and stick to it. I have multiple light blue shirts of roughly the same color.

T-shirts: I am still looking for a good way to pick them out by fit; but again, pick a colorscheme and stick to it. I always have clean t-shirts in black and white.

There is a wide variation in how valuable time spent in different clothing stores is. If you are like me and can think of more enjoyable activities to spend your time on than trying out many different items of clothing, go to good stores; in the price range mentioned above I like Peek & Cloppenburg and Uniqlo.

Socks: I’ve been happy with Goldtoe Men’s socks. Buy many pairs of the same size. Regarding socks, you can organize them as follows: - after doing laundry, put the unpaired socks in a separate bag in the sock drawer; - every time you notice a sock that is torn, worn out, or otherwise damaged, throw it away; - when the bag is full, open it and try to pair socks up - every now and then, throw away the insides of the bag.

Shoes: I have one nice pair of boots; one pair of nice casual sneakers; and pairs of sneakers for running and basketball. All shoes need to be comfortable. Again, colorscheme is important! Do not do exercise (especially running) in your daily wear shoes.

Travel accessories

The following travel accessories bring quite a lot of value:

See also Vitalik’s backpack travel guide.

For a comprehensive travel checklist to ensure you don’t forget anything, see my travel checklist.

Pen and paper

I like the Pilot G2-07, black ink. Dots ~ plain > checkered > lined.

Motivation

Notes on this page

Not every item on this page is updated all the time; but if something is listed here, you can safely assume I used it in the past year and was happy with it at the time of writing.

This page is best taken as a snapshot of my personal opinionated advice to my younger self. What works for me might not work for any particular reader


  1. The hardware is fantastic in almost every way, but the software is a bit of a downgrade from a solid Linux setup. I had to pay to get my trackpad workflow back.↩︎

  2. They discontinued it. How could they? It used to come with a fantastic mouse, and worked with both MacOS and Linux out of the box. I will never get rid of mine now. (I did get rid of the numpad, though. It’s nice that it comes separate from the main keyboard so I can just throw it away.)↩︎

  3. I didn’t succeed completely – for example, with multiple displays, it doesn’t seem possible to label workspaces non-consecutively. If you have any ideas on how to do this, please let me know!↩︎

  4. Since dropping Windows a long time ago, I used Ubuntu, then Arch, then Manjaro for a long time, then switched back to Arch on a new laptop. Manjaro and Arch are very similar and somewhat better than the others. There is no bloat at all if you go with i3.↩︎

  5. The Apple default Menlo font is also good. Berkeley Mono unfortunately doesn’t do it for me.↩︎

  6. Here is an important quote: “When I was young I didn’t understand why ‘vegetables’ or such should be good for me: adults would tell me they had”vitamins and minerals” in them, but I could obviously both a) test myself for vitamin and mineral deficiencies and b) supplement them if I was deficient in them. It wasn’t until many, many years later that I learned how amazingly complex everything we eat is and how many biologically active ingredients are in dishes. Think of a dish with many vegetables, spices, roots, meat, etc, as basically having 20 different drugs in it, but with all of them in very small doses. Many of them are also very slightly psychoactive too! Just as you can get high on nutmeg and sweet potatoes inhibit α-glucosidase and are thus anti-diabetic like the drug acarbose and red yeast rice is literally the same as a statin medication and berberine found in plants like barberry is a mimetic of the anti-diabetic drug metformin, the foods we eat on a daily basis have an astoundingly large amount of downstream effects in the body which have nothing to do with the vitamins or minerals in them. The cases we tend to know about like marijuana or opium are not rare in that they have strong biological effects, but rather are only rare in the dose response curves that are common with consumption.”↩︎