Blogs

One-Click Open VSCode Projects with Alfred

Cursor(VSCode) has been used frequently for coding, but opening projects is inefficient. I wanted to create an Alfred Workflow for a one-click VSCode project opening. Research showed that VSCode stores recently opened projects, making this technically feasible.

Jan 23, 2025

Using DeepSeek AI Translation with Eudic Dictionary

Eudic Dictionary’s default translation quality is average, and using Eudic AI requires a separate payment. Fortunately, Eudic supports adding third-party translation engines, including OpenAI and DeepSeek. DeepSeek AI offers free credits and costs only 1CNY per million tokens, making it highly cost-effective. Therefore, I chose to use DeepSeek AI as the translation engine.

Jan 22, 2025

AI Usage in JetBrains IDE

This article discusses AI usage strategies in JetBrains IDEs, including tool configurations and practical implementations for AI-assisted programming workflows.

Jan 21, 2025

Using DeepSeek

DeepSeek AI has gained considerable attention recently. Today, I learned about it and considered migrating some of my current OpenAI services to DeepSeek. Platform Similar to OpenAI, DeepSeek provides an API, web version, and App. Unfortunately, it hasn’t launched a WeChat mini-program version yet.

Jan 21, 2025

JD Plus Membership Tips

As a JD Plus member for more than seven years, I’ve collected a few tips worth sharing. Notes JD Plus perks change over time, so I’m only highlighting the ones I currently find most useful.

Jan 15, 2025

Viewing Key Performance Metrics in Chrome

Frontend developers need to pay attention to key performance metrics that help us understand website performance status and optimize accordingly. Google provides a tool that allows you to view website performance metrics and optimize them: https://pagespeed.web.dev/

Jan 8, 2025

Is Deploying Node.js on Multi-Core Machines a Resource Waste

Our server-side project is deployed in a cluster, with each POD running a docker-nodejs application. POD configuration is 2 CPU cores, 16GB memory. Since Node.js is single-threaded, is there resource waste here? Let’s think about this issue.

Jan 6, 2025

Command Line Git Operations Repeatedly Prompt for Username and Password

When executing git pull/push operations in the terminal, it keeps prompting for username and password, even though I’ve already entered them before. Here’s how to solve this issue. Git Prompting for Username and Password Username for 'https://git.xxx.com': Password for 'https://git.xxx.com': Solution Open the terminal and execute git config --global credential.helper store command to store credentials locally. Execute the git pull/push operation, enter username and password once, and it won’t prompt again for subsequent operations. Command Scope Explanation When using the --global parameter, the setting affects all Git repositories for the current user. The configuration is saved in the ~/.gitconfig file in the user’s home directory. If you want it to only affect the current repository, remove the --global parameter and execute git config credential.helper store. The configuration will be saved in the .git/config file of the current repository. Alternative Solutions If the above operation doesn’t work, try the following steps:

Jan 6, 2025

Visiting Peking University Third Hospital

I went to PUTH to buy finasteride and encountered various pitfalls. Here’s the full process; hope it helps. What to bring Even though you can pay with the digital medical insurance card, the hospital systems go down a lot, so bring the physical card just in case. Appointment timing is wildly unpredictable, so take a power bank with you. If you don’t want to carry one, each floor has paid shared chargers. Full visit flow Make an appointment through the 114 WeChat public account. Book 1–2 weeks ahead if you can; the Third Hospital’s slots disappear fast. On the day of your visit, use the outpatient kiosk to print your number; you can scan Alipay’s digital insurance card, your physical insurance card, or your ID card. After you have the number, go to the corresponding department. I went to dermatology, so I headed to the fifth floor. Scan the QR code to join the queue. There’s no clear confirmation on screen, so if you’re unsure, ask a staff member to check. Wait to be called according to the number on your ticket, and watch the display to get a sense of the current progress. When it’s your turn, head into the consultation room. The doctor will prescribe the medication and you’ll receive a medical record slip, which is necessary for commercial insurance reimbursement. Pay at any of the kiosks on each floor. When prompted for a password, the default for medical insurance accounts is six zeros. Entering the wrong password repeatedly will lock the card, and you’ll have to pay at the manual service window. You can also print invoice copies at the kiosks. Some machines produce faint printouts that affect reimbursement, so double-check and switch machines if needed. After paying, pick up your medication at the first-floor pharmacy. Reimbursement Since I needed to claim commercial insurance, I kept every receipt and submitted photos via the app. Things that felt unreasonable The kiosk complained about an incomplete address when I tried to print my number. Because the full address is long, it took a while to figure out that it only checks for keywords—entering something like “XX Road No. XX” works. You scan a QR code to queue for the department, but you’re actually called in the kiosk ticket order. If your ticket is 59, expect 58 people ahead. The only way to estimate wait time is to watch the current number being called. Other hospitals such as the 306 Hospital, China-Japan Friendship Hospital, and Peking University People’s Hospital call patients based on the QR registration order and show the queue on screen. The kiosk suddenly asked me for a password during payment without explaining which password. After several failed attempts the machine rebooted—this happened on two different kiosks—so I had to pay at the manual window. Staff later explained it’s the medical insurance payment password; the default is 000000. Entering it incorrectly multiple times locks the card, and you must visit the manual window to unlock it. To pick up medication on the first floor, you first scan at a pillar-mounted machine and then wait. The success prompt appears at the bottom of the giant display rather than centered, so it’s easy to miss. All in all, the patient experience at PUTH is middling right now—hopefully it improves over time.

Jan 6, 2025

Purchasing JetBrains AI Assistant from Low-Price Regions

How to switch your JetBrains account region, subscribe via the China store, and still access the global AI Assistant endpoints through a proxy.

Jan 3, 2025