Skip to content

Instantly share code, notes, and snippets.

View htlin222's full-sized avatar
🦎

Hsieh-Ting Lin (林協霆) htlin222

🦎
View GitHub Profile
@htlin222
htlin222 / organize.sh
Created September 21, 2025 03:15
A Bash script that organizes files in the ~/Downloads folder by file age and file type.
#!/bin/bash
# Downloads Organizer Script
# Organizes files by age (3d, 7d, 14d, 30d, old) and then by file type
set -e
# Configuration
DOWNLOADS_DIR="/Users/htlin/Downloads"
DRY_RUN=${DRY_RUN:-false}
@htlin222
htlin222 / markdown.gs
Last active August 27, 2025 11:42
Google Docs Apps Script | Markdown-Style Heading & Bold Converter
/**
* Adds a menu to run the converter.
*/
function onOpen() {
DocumentApp.getUi()
.createMenu('Markdown')
.addItem('Convert #, **, and lists', 'convertMarkdownHeadingsAndBold')
.addToUi();
}
@htlin222
htlin222 / remove_microsoft_autoupdate.sh
Created August 1, 2025 04:27
Remove Microsoft AutoUpdate from macOS
#!/bin/bash
echo "Removing Microsoft AutoUpdate..."
# Kill any running Microsoft AutoUpdate processes
echo "Killing Microsoft AutoUpdate processes..."
# Find PIDs of Microsoft AutoUpdate processes
PIDS=$(ps aux | grep -i "Microsoft AutoUpdate" | grep -v grep | awk '{print $2}')
@htlin222
htlin222 / chatgptsay.sh
Created July 17, 2025 14:26
A Bash script that reads a JSON input containing a message field, sends the message to OpenAI’s text-to-speech (TTS) API using a cheerful voice, and plays the resulting audio using afplay on macOS. Requires jq for JSON parsing and an OPENAI_API_KEY environment variable.
#!/bin/bash
# 讀取 JSON 輸入
json_input="$(cat)"
# 擷取 message 欄位(需要 jq)
message="$(echo "$json_input" | jq -r '.message')"
# 如果 jq 或訊息抓不到,就退出
if [[ -z "$message" || "$message" == "null" ]]; then
@htlin222
htlin222 / batch_claude.sh
Created July 2, 2025 04:35
如何把 claude code 用爆
START=1
END=100
for i in $(seq -w $START $END); do
echo "Now processing note ${i}..."
claude -p --verbose "Now Process ${i}.md, YOUR_PROMPT_HERE"
osascript -e "display notification \"Finished ${i}\" with title \"Claude Processing\""
done
osascript -e "display notification \"All notes from ${START} to ${END} processed.\" with title \"Done\""
@htlin222
htlin222 / add-progressbar-in-google-slides.gs
Created May 14, 2025 14:48
Google Slides Custom Progress Bar Generator
function onOpen() {
const ui = SlidesApp.getUi();
ui.createMenu('自定功能')
.addItem('⏳ Reload ProgressBars', 'updateProgressBars')
.addToUi();
}
function updateProgressBars() {
const presentation = SlidesApp.getActivePresentation();
const slides = presentation.getSlides();
(*
📋 Smart Paste for Finder
👨‍💻 Author: Hsieh-Ting Lin
🗓️ Last Updated: 2025-05-01
📝 Description:
This AppleScript acts as a smart "Cmd + V" in macOS Finder.
Depending on clipboard content, it will:
📸 Paste images as PNG files in the active Finder folder
📝 Paste plain text as a .txt file
@htlin222
htlin222 / chatgpt_python_requirements.md
Created April 22, 2025 13:25
ChatGPT Python 環境所安裝的套件評論與推薦指數

ChatGPT Python 環境所安裝的套件評論與推薦指數

套件名稱 推薦指數 評論
absl-py ⭐⭐⭐⭐ Google的抽象庫,為TensorFlow和其他ML專案提供優秀的底層工具
ace-tools ⭐⭐⭐ 內部OpenAI工具,功能專一但在特定環境中很有用
aeppl ⭐⭐⭐ 概率編程的自動微分工具,在貝葉斯統計中有特定用途
aesara ⭐⭐⭐⭐ PyMC的計算後端,對於概率編程和貝葉斯分析非常強大
affine ⭐⭐⭐ 地理空間轉換的簡單工具,在GIS應用中很實用
aiohttp ⭐⭐⭐⭐⭐ 非同步HTTP客戶端/伺服器,現代Python網絡開發的必備工具
@htlin222
htlin222 / icloudownload.sh
Created April 22, 2025 09:14
This Bash function icloudownload forces iCloud files or folders to download locally on macOS by reading the first byte of each file, which triggers iCloud sync. It supports both single files and entire directories, displaying progress and file size during the process.
function icloudownload() {
if ! command -v find >/dev/null; then
echo "❌ 'find' is not installed. Please install it first."
return 1
fi
if [[ -z "$1" ]]; then
echo "📂 Usage: icloudownload /path/to/icloud/file_or_folder"
return 1
fi
@htlin222
htlin222 / unify_the_date_as_yyyymmdd_string.js
Last active April 22, 2025 02:46
將 Google Sheets 中所有看似日期的值轉換成 YYYYMMDD 格式。
/**
* 將 Google Sheets 中所有看似日期的值轉換成 YYYYMMDD 格式。
* 支援真實日期物件與常見格式字串(如 "2024-4-5", "2024/04/05", "2024.4.5")。
* 用法:在 Google Sheets 的 App Script 中貼上此函式,執行 convertAnyDateToYYYYMMDD_RobustCheck()。
*/
function convertAnyDateToYYYYMMDD_RobustCheck() {
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getDataRange();