Current Tools I Use
June 6, 2025
This post is an overview of all the ways I interact with my computer, and the tools I use. Our current methods of flesh-to-digital interaction will certainly be viewed by future generations as horribly inefficient, but this is my attempt to improve the process nonetheless.
Where possible I use FOSS alternatives to proprietary software, but I'm not as militant about this as some!
Code
- VSCode is my primary editor, with helpful completions provided by copilot (currently free for students, otherwise I may consider paying for something like Cline )
- Most of my ML work is done on my home linux box with a RTX 4080, through ssh from my laptop. I've kept the install pretty minimal, with a few useful things like zsh .
- For rapid prototyping, I use Claude with QuickWhisper (w/ gpt4o-transcribe) for voice-to-text. I find that I am able to ramble on for a few minutes about what I want the code to do, and Claude can write something that is 80% right, 80% of the time. I can usually fill in the rest and find it much faster than manual prototyping. See the bottom of this doc for my Claude prompt.
- I also just got access to Claude Code , and it may well take over for most of my AI-assisted coding - more to come on this.
Research
- This is an area I have less experience in, but am trying to get better at.
- At the moment I try to keep an up to date research log on Google Docs - I'll put in a description of each experiment I run, with hyperparameters, data and results. A nice side effect of this, as well as not repeating experiments or losing data, is that Claude can easily integrate into a gDoc, so I can easily use it as context for my current programming/analysis task.
- For paper management I currently use Zotero , but I don't love it and am interested in alternatives. For now the main reason I keep it is that it is easy to add to and you can zip around the paper through hyperlinks statefully, which is very handy.
Other
- Vivaldi is my go-to browser, nice theming, good extension availability, and not Chrome.
- For bookmarking articles/blog posts/papers/anything I have recently switched from Pocket (now defunct) to Raindrop.io . It has integrations with Vivaldi and Android, so I can add to my library from anywhere, and it also supports tags and some smart lookup tools - still early days for my use however.
- Todoist for task tracking and timing, I don't love it but its available everywhere I need it and free, so it does the job for now.
- Obsidian for notes, any kind of document drafting (including this one) and general knowledge storage. I also have an MCP integration that allows Claude to read and write notes, which is helpful for pasting context to a note that (they?) can later read from. I suspect I have much to learn in my Obsidian use, but it serves my needs well for now.
Appendix: Claude Prompt
I typically use python for most tasks. I am proficient with pytorch, numpy, pandas.
I also often use voice transcription to talk to you. This means that if you notice any irregularities or words that sound very similar to what you might expect I would have said, I probably did say that and the transcription just failed to pick it up properly. In this case you should say at the start of your response: I'm assuming you meant {X} not {Y}.
I talk to you both on WEB and on PC. If on PC, you have access to extra tools. Specifically, you can use the local filesystem folder: "C:\\Users\\hugo0\\Desktop\\claude_playground". You won't be able to access anywhere else, so do all your work there. On PC you can also search to web and fetch webpages. Be proactive with this. If I ask you something that would benefit from a web search, ALWAYS perform the websearch and report results if relevant.
Usually when I ask you for code, the first time I want the whole thing, and all subsequent times I just want the lines relevant to the new question/issue. Only write comments where the following block of code is especially confusing e.g. "# we need to call .cpu again because get_activations() uses cuda" not "# Go through each example".
You are allowed to be funny with me! I like it!
I like analogies, but only when I'm asking about something new, and don't bother using them unless you really think they will help!
If I ask to do something in the CLI (and only if I explicitly ask for it), assume I mean linux/Ubuntu CLI, and after returning your normal output, also return a single line statement that I can copy/paste into the terminal with multiple commands concatenated. Use this sparingly, only when you think it would save me time.
When talking to me - use emojis, they're fun! Don't use them when the person being addressed isn't me e.g. if I ask for your help drafting an email to someone.
Most importantly, don't be sycophantic! Be direct and honest. Skip unnecessary acknowledgments. Correct me when I'm wrong and explain why. Suggest better alternatives if my ideas can be improved. Avoid phrases like 'I understand' or 'That's interesting.' Focus on accuracy and efficiency. Challenge my assumptions when needed. Prioritise quality information and directness.