Skip to content

Instantly share code, notes, and snippets.

View tuanchauict's full-sized avatar
🐟
I am lazy

Tuan Chau tuanchauict

🐟
I am lazy
View GitHub Profile
@tuanchauict
tuanchauict / README.md
Last active January 15, 2023 12:31
Safari ebooks reader improvement

A simple script for adding a jump key (N / B) with two guidelines to help reading on PC easier.

The progress is also more trackable with page and percent

{"type":"G","i":"01-AAJypSwDcDi=72dzyy5Gv0jhnAd","v":24735131,"ss":[{"type":"T","i":"01-AAWBiFQgS39glWHKZ8MZrC37vVr","v":-1076953303,"b":"27|19|28|3","t":"Loading","e":{"be":{"fe":false,"fu":"F1","be":true,"bu":"S1","du":"1|0|0"},"tha":1,"tva":1}},{"type":"T","i":"01-AAC+tFQlj8Qn35RCwuY6KCt+wJ1","v":995948949,"b":"27|23|28|3","t":"Error(errorType)","e":{"be":{"fe":false,"fu":"F1","be":true,"bu":"S1","du":"1|0|0"},"tha":1,"tva":1}},{"type":"T","i":"01-AA41zFQV5PmkL1thuzox28DZdCq","v":1171550411,"b":"27|27|28|3","t":"Content(content)","e":{"be":{"fe":false,"fu":"F1","be":true,"bu":"S1","du":"1|0|0"},"tha":1,"tva":1}},{"type":"T","i":"01-AA=v=FQBDSwnNDCVYvWBRu8SvCI","v":1332844473,"b":"72|17|28|3","t":"RenderingAdvertisement","e":{"be":{"fe":false,"fu":"F1","be":true,"bu":"S1","du":"1|0|0"},"tha":1,"tva":1}},{"type":"T","i":"01-AA91CGQkBz0RwMpCWUizmF3v5uM","v":-1306080998,"b":"72|21|28|3","t":"RenderingContent","e":{"be":{"fe":false,"fu":"F1","be":true,"bu":"S1","du":"1|0|0"},"tha":1,"tva":1}},{"type":"T","i":"0
@tuanchauict
tuanchauict / diagram.txt
Created August 8, 2023 22:55
Sample diagrams created with MonoSketch https://app.monosketch.io/
╭────────────────────────╮
┌─────┐ ┌─────┐ │╭──────────────────────╮│
│ A │ │ B │ ││ https://example.com ││
└──┬──┘ └──┬──┘ │╰──────────────────────╯│
│ │ │┌──────────────────────┐│
│foo │ ││ Welcome! ││
├─────────────────▶ ││ ││
│hello │ ││ ╭────────────────╮ ││
├─────────────────▶───┐ ││ │ username │ ││
│ world │ │prompts ││ ╰────────────────╯ ││
@tuanchauict
tuanchauict / presentation-github-actions.txt
Created August 28, 2023 02:15
Created with MonoSketch
░██████╗░██╗████████╗██╗░░██╗██╗░░░██╗██████╗░    ░█████╗░░█████╗░████████╗██╗░█████╗░███╗░░██╗░██████╗
██╔════╝░██║╚══██╔══╝██║░░██║██║░░░██║██╔══██╗    ██╔══██╗██╔══██╗╚══██╔══╝██║██╔══██╗████╗░██║██╔════╝
██║░░██╗░██║░░░██║░░░███████║██║░░░██║██████╦╝    ███████║██║░░╚═╝░░░██║░░░██║██║░░██║██╔██╗██║╚█████╗░
██║░░╚██╗██║░░░██║░░░██╔══██║██║░░░██║██╔══██╗    ██╔══██║██║░░██╗░░░██║░░░██║██║░░██║██║╚████║░╚═══██╗
╚██████╔╝██║░░░██║░░░██║░░██║╚██████╔╝██████╦╝    ██║░░██║╚█████╔╝░░░██║░░░██║╚█████╔╝██║░╚███║██████╔╝
░╚═════╝░╚═╝░░░╚═╝░░░╚═╝░░╚═╝░╚═════╝░╚═════╝░    ╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░╚═╝░╚════╝░╚═╝░░╚══╝╚═════╝░
@tuanchauict
tuanchauict / flow.ts
Last active December 17, 2023 22:28
Mimic Flow or LiveData of Android
import {LifecycleObserver, LifecycleOwner} from "./lifecycleowner";
interface Observer<T> {
onChange(value: T): void;
}
class SimpleObserver<T> implements Observer<T> {
constructor(private callback: (value: T) => void) {
}
@tuanchauict
tuanchauict / README.md
Last active June 11, 2024 22:03
Make SBI simpler to use as a Non-Japanese speaker (definitely, this works along with Google Translate)

As a non-Japanese speaker (reader), it's hard for me to know how to use SBI website sbisec.co.jp. Although there is Google Translate, it's not good in handling text in images (Safari can but it's not really good or fast).

Luckily, SBI website uses static images for buttons, therefore, we can replace the image button with text button.

Demonstrate:

image

To use this, you can use any extensions that can inject script and stylesheet into the page or create your own extension.

@tuanchauict
tuanchauict / README.md
Last active January 15, 2025 01:16
Archive Quick Access Button

Archive Quick Access Button

A simple JavaScript script that adds a floating "Archive" button to specific news websites, allowing quick archiving via archive.md.

image image
@tuanchauict
tuanchauict / auto-click-block.js
Created April 21, 2025 04:46
Auto click Block on Threads
function autoClickBlock() {
const dialogBody = document.evaluate(
`//*[contains(text(), "won't be able to find your profile")]`,
document,
null,
XPathResult.FIRST_ORDERED_NODE_TYPE,
null
).singleNodeValue;
if (!dialogBody) {

Suy nghĩ độc lập trong thời đại thông tin số: Vấn đề "nghèo tư duy"

Trong xã hội hiện đại, một dạng nghèo khó mới đang ngày càng phổ biến - không phải nghèo về vật chất mà là "nghèo tư duy". Hiện tượng này thể hiện qua việc thiếu khả năng suy nghĩ độc lập, phụ thuộc quá mức vào mạng xã hội và khuynh hướng chạy theo tâm lý đám đông. Đây là một vấn đề xã hội đáng quan tâm, có tác động sâu rộng đến cả cá nhân và cộng đồng.

Định nghĩa về "nghèo tư duy"

"Nghèo tư duy" không đơn thuần là thiếu kiến thức, mà còn là sự thiếu hụt khả năng phân tích thông tin một cách phản biện, tư duy độc lập và áp dụng nguyên lý cơ bản (first principle thinking) trong quá trình nhận thức. Người bị "nghèo tư duy" thường:

  • Khoán trắng suy nghĩ cho mạng xã hội: Tin tưởng mù quáng vào thông tin từ Facebook, TikTok mà không kiểm chứng
  • Thiếu tư duy phản biện: Không đặt câu hỏi về độ tin cậy của nguồn thông tin
@tuanchauict
tuanchauict / claude-message-jump.js
Last active December 23, 2025 23:52
A short tampermonkey script for adding a Nav Bar for Claude.ai that helps navigate through conversation messages
// ==UserScript==
// @name Claude.ai Navigation Bar
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Creates a navigation bar on the right side of Claude.ai that helps navigate through conversation messages
// @author You
// @match https://claude.ai/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=claude.ai
// @grant GM_addStyle
// ==/UserScript==