.. _no-effort:
Actions
=======
Minimize effort to maximize impact. Human productivity, wheels, oil, gases, chips, and electricity are products of civilization. Our goal is to utilize civilization's tools that enable us to create more impact. Tools and civilization continue to evolve. They require maintenance, upgrades, and optimization to keep pace. I must stay at the forefront of these changes to leverage the best tools available. This is my ongoing journey to become a more efficient researcher and individual.
**How this page is organized:** Each dropdown title begins with the most important word or phrase that categorizes the behavior or action. Each dropdown menu starts with the problem, followed by a solution. The solution presented may evolve over time with new tools and ideas.
2025
----
November
^^^^^^^^
.. dropdown:: Nov 8, 2025 - Access keyboard shortcuts in VS Code
:icon: info
``cmd-k`` and then ``cmd-s``.
.. dropdown:: Nov 8, 2025 - Toggle line-number in VS Code?
:icon: code
I place my VS code on the right side and I have my rendered doc on the left side. I want to toggle line number on and off so that I can save a few more characters on the screen. The solution is to use ``cmd-shift-p`` to open the command palette, then type "Toggle Line Numbers" and press enter. This toggles the line numbers on and off.
The solution is install Line Numbers Toggle extension and use ``ctrl-shift-l``
.. dropdown:: Nov 8, 2025 - Go to previous cursor position in VS Code?
:icon: terminal
Sometimes I search for a keyword across the panel and then I want to return back to the previous cursor position.
The solution is to use ``ctrl--`` to go back to the previous cursor position and ``ctrl-shift--`` to go forward.
.. dropdown:: Nov 8, 2025 - Insert custom code snippets in VS Code?
:icon: code
I have to manually type ``.. dropdown::
`` followed by ``:icon: info`` and ``:color: info`` which requires cognitive effort. I wonder if there is a way to create a custom RST directive that automatically adds these lines when I type ``.. dropdown:: ``. This would save time and reduce cognitive load.
The solution is to create a VS Code snippet. Run ``mkdir -p ~/Library/Application\ Support/Code/User/snippets`` and add a new file named ``restructuredtext.json`` with the following content:
.. code-block:: json
{
"Dropdown with icon": {
"prefix": "dd",
"body": [
".. dropdown:: ${1:title}",
" :icon: ${2:info}",
" :color: ${3:info}",
"",
" $0"
],
"description": "Insert dropdown with icon and color"
}
}
Now type ``dd`` and press Tab to automatically expand the dropdown template. It automatically focues the cursor to the title and once the title is entered, press Tab again to focus on the icon, and so on. There is no need to press the enter key or move the cursor manually!
.. dropdown:: Nov 9, 2025 - Move macOS desktop focus to side monitors
:icon: tool
I have the side vertical monitor on the right side. Often, I just want to run "python app.py" or restart the server. Typically the right monitor is used for static information like to-do items and terminals. This happens while editing content in VS Code using the central monitor. I need a
.. dropdown:: Nov 8, 2025 - URL copy keyboard shortcut?
:icon: link
The current method is to right-click and scroll the mouse to click on "Copy link address". Locating "Copy link address" requires cognitive effort. I wonder if there is a keyboard shortcut to copy the URL link without using the mouse.
The solution is to right-click on the URL link, then press the "C" key and then "Enter". This copies the URL link without using the mouse to scroll and click on "Copy link address".
.. dropdown:: Nov 7, 2025 - Literature papers on my website, how to scan faster?
:icon: book
In the Literature page, I have a list of papers. How can I scan through these papers faster? I used to have them organized by the year, the full paper title, where the entire bullet point becomes a URL link. But I noticed that this is hard to scan. For example, I care more about the name of the software rather than the year, so the first word should be easily 1-2 words that would define that paper.
First, I added special attributes of "Science" and "Nature" in red and green badges at the beginning to indicate high impact and that I am more likely to revisit these papers.
.. dropdown:: Nov 7, 2025 - C++, CUDA GPU, how to optimize learning?
:icon: question
:open:
(KEEP THINKING) I need to review how C++ provides complete control over memory management. I need to know every possible way to initialize variables, allocate memory, and free memory. This way, I can read a wide range of C++ codebases and understand how people optimize memory usage. The best way to learn is simply to keep talking to the AI and ask why certain techniques or design patterns were introduced. The way to learn is by asking questions about what problems a technique, function, or design pattern solves.
.. dropdown:: Nov 7, 2025 - GitHub CLI Copilot, when (why) do I use it? (THINKING NOW)
:icon: question
:open:
Open question for further thinking.
.. dropdown:: Nov 5, 2025 — Listing GitHub issues in VS Code, how to avoid switching to Terminal?
:icon: code
I wonder if there is a more native way to list all GitHub issues while I am editing files in VS Code. Right now, I have to open Terminal and type ``gh issue list`` or use the GitHub web interface. Is there a better way?
Yes, there is a GitHub extension to access GitHub issues directly within the editor. For ``GitHub: Focus on Issues``, I added the keybinding of ``opt-cmd-i`` to quickly open the issues panel.
.. dropdown:: Nov 4, 2025 — Navigate VS Code Explorer panel using keyboard only
:icon: copilot
I can toggle the Explorer panel using ``cmd-b`` but I may want to navigate, open and close folders using keyboard only. The solution is to use ``cmd-shift-E``. It focuses on the Explorer panel.
.. dropdown:: Nov 4, 2024 — Resize VS Code panels without mouse
:icon: copilot
I have been using the mouse to resize panels. This is an extra cognitive overload since I have to locate the mouse and then find the intersection between two or more panels. Also, when VS Code is open on my monitor or when I'm using it on my MacBook, the panel sizes remain dynamic. I wonder if there is a "Magnet"-like application for this.
Yes, there is! Use the ``Increase Current View Size`` and ``Decrease Current View Size`` commands. I mapped them to ``shift-cmd-=/-``.
.. dropdown:: Nov 4, 2025 — Editing typos with AI while prompting, what is the most streamlined way?
:icon: pencil
As I use the Paste app to make a list of prompts and save them, I can't help but think about how AI could be used to fix the typos and grammar mistakes I made while writing. It happens frequently when the recipient is a machine instead of a person. But even so, spelling and grammar mistakes may cause confusion. By using GitHub Copilot, I can change files like ``.rst`` in VS Code. Now, though, you can't do that in the prompt textfield itself. I want to know if there is a solution that works everywhere, like how Grammarly finds possible problems everywhere.
It works on all browsers, so I found that https://languagetool.org/ is a good solution. This works better than using Brave's Leo AI assistant. To use the shortcut, I press the shift key twice to get AI to make changes to paragraphs. Even though I don't think this feature is built into VS Code, I can always use Google Docs to check for grammar and spelling mistakes and write prompts.
.. dropdown:: Nov 4, 2025 — Open URL links from VS Code, what is the minimum effort way?
:icon: browser
While I often visit links as hyperlinks from the rendered website, I also spend time editing these links directly in VS Code. For example, in the ``literature.rst`` file, there are many hard-coded links. The problem occurs when I want to open the URL in the browser.
The solution is to copy the URL, use ``opt-space``, paste the URL into the search bar in Raycast, and press the enter key. This opens the URL in the default browser.
.. dropdown:: Nov 4, 2025 — Reading dropdown titles here, how do I write to scan faster?
:icon: typography
Similar to the question below about scanning GitHub issues in Terminal, I should write the questions on this page in a way that categorizes them using the first few words. Before, each question started with "How can I " but this isn't efficient for scanning for the same reason. It should start with , like "Reading," "Scrolling," "Opening," "Reviewing," and similar gerunds that indicate my current behavior, and then pose the specific problem in a question format.
.. dropdown:: Nov 4, 2025 — Reading GitHub issue titles in Terminal, how do I write to scan faster?
:icon: issue-opened
When I type ``gli`` (short for ``gh issue list``), I see about 100 open issues. Currently, I use prefixes like ``math: `` or ``4D-STEM: ``, but the problem is the wording that follows the prefix. For example, an issue titled ``math: what does it mean by stiff in applied math?`` forces me to read the first five words ("what," "does," "it," "mean," "by") before understanding the topic. While this phrasing feels natural when creating the issue, it becomes inefficient when scanning through 100 issues.
A better approach is to write issue titles like ``math: "stiff" define, document example in EM``. The phrase "what does it mean" can be shortened to just "define." Since my goal is to document an example for my PhD research, I include "document example in EM" to make the purpose clear. This format allows me to scan dozens or hundreds of GitHub issues in Terminal with minimal cognitive load.
.. dropdown:: Nov 4, 2025 — Scrolling in Terminal (Warp), how to avoid using the mouse?
:icon: terminal
I track issues on GitHub and I use the ``gh issue list`` command. Often, I list all issues where it goes beyond the current view. I can use ``cmd-up`` and ``cmd-down`` to scroll up and down while keeping the cursor focused in the Terminal input.
.. dropdown:: Oct 4, 2025 — Opening files in VS Code, how to create new tab without extra steps?
:icon: file-code
Opening a new tab to edit another file or compare is a common task. I have been creating a new window by pressing ``cmd-`` and then ``cmd-shift-p``. But instead, I can just find the file using ``cmd-shift-p`` and press ``cmd-enter`` to open the file in a new tab directly. This saves an extra step.
.. dropdown:: Nov 4, 2025 — Reading this page, how to make it more engaging?
:icon: sparkle-fill
The current page has become more cluttered and somewhat overwhelming with questions and paragraphs. It is also boring. The paragraphs are simply there and not engaging. I wondered how I can make this page engaging, thought-provoking, and overall fun so that I revisit it often.
Dropdowns! These enable easy navigation on both phone and computer. I prefer dropdowns because they hide content while keeping questions visible. This allows me to test my memory and add new actions to answers when I have new thoughts. I added an icon to each question for categorization. Recognizing an icon requires less cognitive effort than reading the entire question. The icon serves as a visual prefix, similar to commit message conventions that begin with "feat:", "fix:", "docs:", or "chore:" to quickly identify the type of change. The page looks less cluttered, making me more likely to visit again.
.. dropdown:: Nov 4, 2025 — Getting latest info, how to access papers and news efficiently?
:icon: rss
As mentioned below, bookmarks aren't shared across browsers and devices without using cloud. On my home page, I added a dropdown menu that contains frequently used research paper repositories and news websites. This way, I can access these important links in real time. I also added a custom button with Javascript that opens all links at once across tabs. This way, I have access to SOTA research.
October
^^^^^^^
.. dropdown:: Oct 29, 2025 — Switching applications on multiple monitors, what's better than cmd-tab?
:icon: devices
Using ``cmd-tab`` is inefficient when managing more than two applications across three monitors. When two identical applications are open, ``cmd-~`` works well for switching between VS Code windows. For different applications, ``ctrl-F4-(shift)`` moves focus to the next window or application. I am testing this approach and will report back. Moving the dock to the bottom center of the central monitor shifted the ``cmd-tab`` list to the center screen, making it more ergonomic. I can also navigate the dock using ``ctrl-f3`` and arrow keys to open applications without using Spotlight or the mouse.
.. dropdown:: Oct 28, 2025 — Switching VS Code windows, how to avoid opening multiple instances?
:icon: file-directory
I learned that ``fn-ctrl-R`` navigates across workspaces in VS Code. This way, I can maintain just one VS Code window without having to open 3 or 4 separate windows. This is particularly useful when I work across multiple different applications and when I am using a small monitor. When I switch between applications, I know the exact folder I am working on in Visual Studio Code, preventing me from running another command of ``cmd-~`` to switch between multiple VS Code windows. I can save 200 to 500 milliseconds and cognitive load to distinguish between VS Code windows.
.. dropdown:: Oct 28, 2025 — Editing sentences in browser, how to streamline AI assistance?
:icon: browser
The problem is that when I want to fix or improve my wording, I use a separate tab and copy and paste the content, then wait for feedback. Also, when I use my voice instead for prompts, it has many potential errors. This isn't streamlined. I learned to adopt Brave's Leo AI assistant. I might configure custom keyboard shortcuts for some functions like paragraph, change tone, and similar features. This is useful for quick edits both for prompts and for improved communication.
.. dropdown:: Oct 28, 2025 — Copying DOI links, how to use keyboard instead of mouse?
:icon: mortar-board
I am compiling a list of references from the web. Right now, I have to right click on the DOI link and select "Copy link address" to copy the DOI link. This requires multiple steps and physical effort.
.. dropdown:: (THINKING NOW) Oct 27, 2025 — Recording thoughts without laptop, what are better options?
:icon: light-bulb
:open:
I commute 15 to 20 minutes in each direction. To capture random thoughts, I normally open my messaging app with my phone and send myself a voice to text message. I am wondering whether there is a more efficient way to do this so that I don't have to even open the message app. I am exploring options like Siri shortcuts or other third-party apps.
.. dropdown:: Oct 27, 2025 — Checking calendar and searching on computer, what's faster than opening apps?
:icon: calendar
I started using the Raycast macOS application to check my calendar where I can access it through ``option-space`` and then use shortcuts like ``cmd-2`` to access the calendar view without opening the calendar app.
.. dropdown:: Oct 27, 2025 — Using chain of thought with AI, how to leverage voice input?
:icon: copilot
I began to utilize my voice and Apple's Dictation feature to verbalize my chain of thought while interacting with AI. It's okay to use the keyboard but the mouth is closer to the brain. It's also more intuitive to speak with eyes closed than to type. I also like talking because I am able to evaluate my own chain of thought.
.. dropdown:: Oct 27, 2025 — Preparing prompts while AI responds, how to queue multiple questions?
:icon: paste
I started to use the Mac app "Paste" to prepare prompts and easily copy and paste them into the prompts. This way, I am able to have a number of prompts ready while the AI is still responding to the previous prompt.
.. dropdown:: Oct 25, 2025 — Accessing terminal in VS Code, what's the fastest workflow?
:icon: terminal
Improved terminal access in VS Code using ``ctrl-~`` then ``cmd-j``. This enabled faster switching between the editor and the terminal with greater ergonomics.
.. dropdown:: Oct 25, 2025 — Managing port conflicts, how to handle multiple local servers?
:icon: code
Learned the ``lsof`` and ``kill`` commands for port management, gaining better control over running processes and port conflicts. I typically run a minimum of 2 or 3 local servers. One for my personal website that enables real-time rendering of the doc as I am writing, one for my electron-microscopy website for adding new features, and one for another server like Jupyter or Marimo notebook. Often, when you shut down the application with ``ctrl-c``, the port remains occupied. Hence, I use the terminal shortcuts when I build it to ensure the ports are freed up and run the server.
.. dropdown:: Oct 24, 2025 — Accessing URLs, why home page instead of bookmarks?
:icon: book
Added dropdown shortcut URLs to the home page, improving navigation and organization of documentation. I used to have them under the bookmarks on the browser, but I noticed that I rarely use those bookmarks and they are always hidden because I have to open the bookmark menu first. So, to make these important and useful links more accessible compared to other bookmarks such as school's websites or unique URLs, I decided to have them on the front page of this website.
.. dropdown:: Oct 24, 2025 — Keeping permanent records, how to replace physical notebooks?
:icon: book
Switched to Sphinx for documenting learning from physical notebooks, providing better version control and searchability compared to paper notes where I rarely refer back after writing. Also, as I further move into my PhD, I have taken numerous coursework from materials science, chemical engineering, chemistry, and computer science. I want to ensure that this knowledge gained from coursework is easily accessible and intertwined with my current PhD research. For example, linear algebra, deep learning, crystallography—all of these are what I use daily in my research. I must have a strong foundation in these topics. Furthermore, I can utilize notebooks, markdown, and mathematical typesets to document equations.
.. dropdown:: Oct 22, 2025 — Setting up multi-monitor workstation, how to optimize productivity?
:icon: desktop-download
Upgraded to a MacBook Pro M5 14-inch for a three-monitor setup with a Studio Display. My prior MacBook Air M2 began to show signs of struggle when I use 3-4 VS Code windows with a dozen tabs on my browser. Also, MacBook Air M2 only supports one extra monitor. With MacBook Pro, I can now use two external monitors plus the built-in display. This enables me to identify open windows and move those windows to my central display using custom shortcuts in the Magnet macOS application. The left monitor is my MacBook Pro 14-inch, the center is my Studio Display, and the right is an old 24-inch monitor that is 90 degrees rotated for vertical use. I normally use the vertical monitor for static content such as papers or writing a to-do list. I try not to actively engage with side monitors because it causes neck strain. But rather I use my peripheral vision to glance at the side monitors and use short keyboard shortcuts to move the windows to the center display when needed.
.. dropdown:: Oct 22, 2025 — Using AI with browser content, how to enable native interaction?
:icon: copilot
Adopted ChatGPT Atlas for browser interaction, enhancing AI-assisted research and documentation workflows. Instead of asking questions from a separate window, the AI can now interact directly with the browser content and also access a greater number of direct references.
September
^^^^^^^^^
.. dropdown:: Sep 30, 2025 — Carrying earphones, how to avoid losing and extend battery life?
:icon: desktop-download
Switched to Beats Flex earphones instead of AirPods for longer battery life, no case to carry, and a lower risk of loss. I also like that I can always have them around my neck when not in use.
2024
----
.. dropdown:: Q4, 2024 — Using VS Code terminal, why prefer built-in over separate app?
:icon: code
**While developing** software—such as adding new content to my personal website—I prefer using Visual Studio Code's built-in terminal instead of an external terminal. There are a few reasons for this.
First, I can open the terminal within VS Code by pressing ``ctrl + ``` the first time, and then ``cmd + j``. In contrast, accessing an external terminal requires ``cmd + tab`` or using Spotlight search. Often, it is necessary to press ``cmd + tab`` multiple times to find the terminal application. For Spotlight search, I have to type the first letter of the terminal application, which adds both physical and cognitive overhead. Using the principle of "same output, minimum input," the ``cmd + j`` shortcut in VS Code requires the least effort (Principle #1).
Second, the external terminal window is often positioned differently or displayed alongside other applications, requiring me to constantly switch focus between the terminal and the VS Code editor. This increases my cognitive load (Principle #1).
Third, reading GitHub issues is much easier in full-screen mode within VS Code. In contrast, the external terminal usually opens in a smaller window to work side by side with other applications like Visual Studio or when hosting a server, which often requires resizing to match the content. This adds both physical effort and additional mental overhead (Principle #1).
Fourth, I use ``sc`` and ``ec`` alias shortcuts to open Visual Studio Code to modify configuration files. Running these commands opens the configuration file within the current VS Code editor, so it saves time (Principle #3) and reduces cognitive overload since my brain doesn't have to process a new window being created or require me to type an extra shortcut to adjust the window size (Principle #1).
Available dropdown icons
-------------------------
.. dropdown:: ``code`` - Programming, code snippets
:icon: code
.. dropdown:: ``code-square`` - Code blocks
:icon: code-square
.. dropdown:: ``file-code`` - Code files, opening files
:icon: file-code
.. dropdown:: ``terminal`` - Command line, shell operations
:icon: terminal
.. dropdown:: ``command-palette`` - VS Code commands
:icon: command-palette
.. dropdown:: ``file`` - General files
:icon: file
.. dropdown:: ``file-directory`` - Folders, workspaces
:icon: file-directory
.. dropdown:: ``file-directory-fill`` - Active folders
:icon: file-directory-fill
.. dropdown:: ``git-branch`` - Branching
:icon: git-branch
.. dropdown:: ``git-commit`` - Commits
:icon: git-commit
.. dropdown:: ``git-merge`` - Merging
:icon: git-merge
.. dropdown:: ``git-pull-request`` - Pull requests
:icon: git-pull-request
.. dropdown:: ``issue-opened`` - Open issues
:icon: issue-opened
.. dropdown:: ``issue-closed`` - Closed issues
:icon: issue-closed
.. dropdown:: ``repo`` - Repositories
:icon: repo
.. dropdown:: ``tools`` - General tools
:icon: tools
.. dropdown:: ``gear`` - Settings, configuration
:icon: gear
.. dropdown:: ``zap`` - Speed, performance, optimization
:icon: zap
.. dropdown:: ``rocket`` - Launch, deployment
:icon: rocket
.. dropdown:: ``beaker`` - Experiments, testing
:icon: beaker
.. dropdown:: ``book`` - Documentation, reading
:icon: book
.. dropdown:: ``pencil`` - Editing, writing
:icon: pencil
.. dropdown:: ``typography`` - Text formatting
:icon: typography
.. dropdown:: ``comment`` - Comments, discussion
:icon: comment
.. dropdown:: ``browser`` - Web browser
:icon: browser
.. dropdown:: ``link`` - URLs, hyperlinks
:icon: link
.. dropdown:: ``globe`` - Internet, worldwide
:icon: globe
.. dropdown:: ``search`` - Searching
:icon: search
.. dropdown:: ``home`` - Homepage
:icon: home
.. dropdown:: ``copilot`` - GitHub Copilot, AI assistance
:icon: copilot
.. dropdown:: ``hubot`` - Bots, automation
:icon: hubot
.. dropdown:: ``cpu`` - Computing, processing
:icon: cpu
.. dropdown:: ``calendar`` - Calendar, scheduling
:icon: calendar
.. dropdown:: ``clock`` - Time tracking
:icon: clock
.. dropdown:: ``stopwatch`` - Timing
:icon: stopwatch
.. dropdown:: ``history`` - Past events
:icon: history
.. dropdown:: ``question`` - Questions, help
:icon: question
.. dropdown:: ``light-bulb`` - Ideas, insights
:icon: light-bulb
.. dropdown:: ``sparkle-fill`` - Inspiration, highlights
:icon: sparkle-fill
.. dropdown:: ``note`` - Notes, reminders
:icon: note
.. dropdown:: ``desktop-download`` - Desktop, hardware
:icon: desktop-download
.. dropdown:: ``devices`` - Multiple devices
:icon: devices
.. dropdown:: ``device-mobile`` - Mobile devices
:icon: device-mobile
.. dropdown:: ``device-desktop`` - Desktop computer
:icon: device-desktop
.. dropdown:: ``device-camera`` - Camera
:icon: device-camera
.. dropdown:: ``database`` - Databases
:icon: database
.. dropdown:: ``graph`` - Charts, analytics
:icon: graph
.. dropdown:: ``table`` - Tables, data
:icon: table
.. dropdown:: ``paste`` - Clipboard, pasting
:icon: paste
.. dropdown:: ``copy`` - Copying
:icon: copy
.. dropdown:: ``mortar-board`` - Education, academic
:icon: mortar-board
.. dropdown:: ``telescope`` - Research, exploration
:icon: telescope
.. dropdown:: ``rss`` - News feeds, updates
:icon: rss
.. dropdown:: ``bell`` - Notifications
:icon: bell
.. dropdown:: ``alert`` - Warnings
:icon: alert
.. dropdown:: ``info`` - Information
:icon: info
.. dropdown:: ``check`` - Success, completed
:icon: check
.. dropdown:: ``x`` - Error, close
:icon: x
.. dropdown:: ``play`` - Start, run
:icon: play
.. dropdown:: ``stop`` - Stop, halt
:icon: stop
.. dropdown:: ``sync`` - Synchronize
:icon: sync
.. dropdown:: ``download`` - Download
:icon: download
.. dropdown:: ``upload`` - Upload
:icon: upload
.. dropdown:: ``eye`` - Viewing, visibility
:icon: eye
.. dropdown:: ``star`` - Favorites, important
:icon: star
.. dropdown:: ``heart`` - Like, favorite
:icon: heart
.. dropdown:: ``flame`` - Hot, trending
:icon: flame
.. dropdown:: ``trophy`` - Achievement
:icon: trophy
For the complete list of all available icons, see the `Octicons library `_.