tiennm99
1e42f36701
fix(mt-add-post): preserve YouTube video id in duplicate check
...
bareUrl() dropped the query string, collapsing every youtube.com/watch
URL to the same bare key and flagging all YouTube links as duplicates.
Keep host identity params (v for youtube) so distinct videos are not
treated as duplicates.
2026-05-30 15:48:52 +07:00
tiennm99
9d19e99c4c
docs(newsletter): add Newsletter #106
2026-05-29 00:24:59 +07:00
tiennm99
66eef5847e
docs(newsletter): add Newsletter #105
2026-05-27 22:10:44 +07:00
tiennm99
3896e99a53
docs(newsletter): add Newsletter #104
2026-05-24 23:58:59 +07:00
tiennm99
03df6b526d
docs(newsletter): add Newsletter #103
...
11 articles covering AI coding, career lessons, email internals,
Git performance, binary search optimization, Swiss tables, and more.
2026-05-23 22:22:33 +07:00
github-actions[bot]
95d07be400
chore(projects): refresh projects list
2026-05-18 00:46:50 +07:00
tiennm99
24d189d48d
docs(newsletter): validate URLs, fix redirects, strikethrough dead links
...
- Update ~38 URLs to current canonical (domain moves, restructures, tracking-param strip)
- Strikethrough ~15 sections with confirmed dead URLs (404/410/DNS-fail)
- Fix malformed markdown ((double parens, stray bracket)
- Correct evanhahn.com URL typo
Two-pass review with verification pass to catch HEAD-only false-positives.
2026-05-15 21:21:58 +07:00
tiennm99
650178ea97
docs(newsletter): review and clean all newsletter posts (excluding #100 )
...
- Append review footer to 101 newsletter posts
- Remove 13 duplicate sections across 11 posts (link kept in earlier post)
- Strikethrough user's personal commentary about AI tools/models in intros
2026-05-15 19:55:16 +07:00
tiennm99
590ea5cdf4
docs(referral): add BigModel GLM Coding Plan link and split entries
...
Separate the general BigModel platform invite (20M free tokens) from
the new GLM Coding Plan referral (5% friend discount, tiered cashback
at 3 and 30 invitees).
2026-05-14 14:03:21 +07:00
github-actions[bot]
ffebaed9af
chore(projects): refresh projects list
2026-05-12 01:30:43 +07:00
tiennm99
2ac362f29d
docs(readme): add content structure and theme customization sections
2026-05-11 21:47:22 +07:00
tiennm99
8a394ecdfd
docs: flesh out README
2026-05-11 20:15:13 +07:00
tiennm99
d82b495bfc
docs: update old repo name learn-netty → try-netty
2026-05-11 17:21:44 +07:00
tiennm99
2b46df98e7
docs: update old repo name MaiBD2021 → mai-birthday-2021
2026-05-11 17:21:41 +07:00
github-actions[bot]
464130d275
chore(projects): refresh projects list
2026-05-11 00:41:29 +07:00
github-actions[bot]
9ae7c94945
chore(projects): refresh projects list
2026-05-10 00:40:37 +07:00
github-actions[bot]
f26755f861
chore(projects): refresh projects list
2026-05-08 01:17:26 +07:00
github-actions[bot]
8cf3fec6a4
chore(projects): refresh projects list
2026-05-07 01:10:32 +07:00
github-actions[bot]
8af044bcaa
chore(projects): refresh projects list
2026-05-06 01:05:53 +07:00
tiennm99
e7c0669745
feat(content): add Newsletter #102 with 4 articles on agentic workflows, engineering laws, defensive databases, and productivity
2026-05-05 22:54:37 +07:00
tiennm99
ac6e53946a
refactor(content): move Newsletter #100 to correct date-based path
2026-05-05 20:46:32 +07:00
tiennm99
ce72d073fc
feat(content): add Newsletter #101 with 8 articles on AI engineering, agents, algorithms, and git
2026-05-04 21:32:08 +07:00
github-actions[bot]
107f6eecd9
chore(projects): refresh projects list
2026-05-04 00:37:38 +07:00
tiennm99
ab107095ac
feat(content): add newsletter no.100
2026-05-03 22:46:58 +07:00
github-actions[bot]
70640bc9f7
chore(projects): refresh projects list
2026-05-02 00:48:17 +07:00
github-actions[bot]
20b60be7fa
chore(projects): refresh projects list
2026-05-01 01:02:45 +07:00
github-actions[bot]
a967c47e78
chore(projects): refresh projects list
2026-04-30 01:07:01 +07:00
tiennm99
42ba06145d
refactor(referral): show friend passes inline instead of spoiler
2026-04-29 11:06:15 +07:00
tiennm99
92de741f7d
refactor(referral): show claimed Claude Code pass with out-of-stock label
...
Replace blockquote update with an inline strikethrough list entry so
the pass URL stays visible alongside its status.
2026-04-28 12:31:25 +07:00
tiennm99
08c8c8b456
feat(referral): note Claude Code passes claimed, add friend's pass
...
- Mark all own Claude Code Guest Passes as claimed (2026-04-28)
- Add friend's pass behind a collapsible spoiler
2026-04-28 12:27:29 +07:00
github-actions[bot]
f17c78df16
chore(projects): refresh projects list
2026-04-28 00:59:26 +07:00
github-actions[bot]
6aa8a64c82
chore(projects): refresh projects list
2026-04-27 00:30:23 +07:00
tiennm99
abbc5dba8c
feat(content): add Newsletter #99 with 8 articles on AI quality, API design, IAM, and networking
2026-04-26 20:09:58 +07:00
tiennm99
07201e7ab3
feat(referral): add MiniMax Token Plan referral
2026-04-25 22:46:58 +07:00
github-actions[bot]
a84aa6e316
chore(projects): refresh projects list
2026-04-25 00:42:42 +07:00
github-actions[bot]
63689dbbe3
chore(projects): refresh projects list
2026-04-24 01:01:57 +07:00
github-actions[bot]
c2d097c002
chore(projects): refresh projects list
2026-04-23 00:51:32 +07:00
tiennm99
f4a533db31
fix(ci): handle clean index after git add in projects workflow
2026-04-22 20:19:00 +07:00
tiennm99
8531e1f962
docs(projects): clarify supported URL types in description
2026-04-22 20:15:28 +07:00
github-actions[bot]
f72e3b4e85
chore(projects): refresh projects list
2026-04-22 20:09:57 +07:00
tiennm99
5876b79689
refactor(projects): rename pages section to projects with contributions
...
- rename content/page/pages → content/page/projects, keep /pages alias
- list owned + contributed repos (GraphQL repositoriesContributedTo)
- filter by URL (homepage or has_pages), not just GitHub Pages enabled
- rename script/workflow to update-projects-list.mjs / update-projects.yml
2026-04-22 20:09:33 +07:00
github-actions[bot]
06c2aeeb22
chore(pages): refresh GitHub Pages list
2026-04-22 19:57:58 +07:00
tiennm99
f9927e6098
feat(ci): replace github-pages shortcode with daily workflow
...
Fetch repos server-side via GitHub API using PAGES_FETCH_TOKEN and
inject the pages list into content/page/pages/index.md between HTML
markers. Runs daily at 00:00 Asia/Saigon and on manual dispatch.
2026-04-22 19:57:36 +07:00
tiennm99
1763bc2acb
refactor(referral): group services into categories
2026-04-22 19:43:36 +07:00
tiennm99
56426d69e8
feat(referral): make ModelArk image clickable to referral link
2026-04-22 19:29:11 +07:00
tiennm99
04f34f01c5
feat(referral): add PikPak cloud storage referral link
2026-04-22 19:17:59 +07:00
tiennm99
1d4f0b7cd6
feat(content): add Newsletter #98 with 11 articles on AI design tools, Go patterns, and engineering careers
2026-04-18 10:00:45 +07:00
tiennm99
3a5183f6e3
feat(content): add Newsletter #97 with 7 articles on AI agents, GC, and engineering practices
2026-04-17 19:38:26 +07:00
tiennm99
8b9f264a3b
feat(content): add Newsletter #96 with 6 articles on Go internals, AI agents, and engineering culture
2026-04-16 22:12:00 +07:00
tiennm99
428e7c24a1
feat(content): add article on AI-assisted engineering workflows to Newsletter #95
2026-04-14 21:52:17 +07:00