`` 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 — Page design, dropdowns for better engagement
: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 — Research papers and news, efficient access on homepage
:icon: rss
As mentioned below, bookmarks aren't shared across browsers and devices without using the 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 — Multi-monitor applications, switching beyond 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 — VS Code workspaces, single window navigation
: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 — Browser text, AI editing with Brave Leo
: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 — DOI links, keyboard copy shortcut
: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 — Voice notes, capture thoughts without laptop
: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 — Calendar and search, Raycast for instant access
: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 — AI prompts, voice input for chain of thought
: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 — AI prompts, queue with Paste app while waiting
: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 — VS Code terminal, fast access 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 — Port conflicts, manage 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 — URL bookmarks, homepage dropdown instead of browser
: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 — Permanent records, Sphinx documentation over 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 — Multi-monitor setup, MacBook Pro M5 three-display config
: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 — Browser AI, ChatGPT Atlas for 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 — Earphones, Beats Flex for battery and convenience
: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 — VS Code terminal, built-in vs 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
-------------------------
.. raw:: html
.. 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
.. raw:: html
For the complete list of all available icons, see the `Octicons library `_.>