- GitHub Issues là một công cụ mạnh mẽ, miễn phí cho ghi chú công khai/riêng tư và cộng tác
- Hỗ trợ Markdown, tô sáng cú pháp, kéo thả hình ảnh·video và tính năng liên kết chéo, mang lại trải nghiệm ghi chú xuất sắc
- Có thể tìm kiếm mạnh mẽ và tự động hóa, sao lưu, tích hợp bên ngoài thông qua API
- Điểm tiếc duy nhất là thiếu tính năng ngoại tuyến có đồng bộ, nên rất khó sử dụng khi không có kết nối mạng
- Checklist, xử lý quy mô lớn, tận dụng kết nối với LLM, cùng khả năng sao lưu và độ an toàn cũng là những ưu điểm chính
Giá trị của GitHub Issues trong việc ghi chú
- GitHub Issues là một công cụ gần như có thể được xem là cuốn sổ ghi chép trực tuyến tốt nhất
- Có thể viết và quản lý ghi chú công khai và riêng tư không giới hạn hoàn toàn miễn phí
- Hỗ trợ định dạng Markdown rất tốt, cung cấp tô sáng cú pháp cho hầu hết mọi ngôn ngữ lập trình, đồng thời cũng cho phép kéo trực tiếp hình ảnh vào ghi chú
Tính năng liên kết và liên kết chéo
- Khi thêm URL của issue khác vào danh sách Markdown bên trong issue, hệ thống sẽ tự động gọi tiêu đề, đồng thời tự động tạo liên kết hai chiều
- Quy tắc hiển thị của issue được áp dụng, nên issue riêng tư sẽ không bị lộ ra bên ngoài
Tìm kiếm mạnh mẽ và tự động hóa qua API
- Điểm mạnh là khả năng tìm kiếm nhanh và chính xác trong phạm vi kho lưu trữ, toàn bộ kho của người dùng, và trên toàn GitHub
- Có thể dễ dàng xuất dữ liệu ghi chú hoặc tạo mới, chỉnh sửa ghi chú bằng API
- Cũng có thể triển khai tự động hóa trên diện rộng bằng cách kết nối GitHub Actions với sự kiện Issue
Nhược điểm: thiếu đồng bộ ngoại tuyến
- Nhược điểm duy nhất là không thể đồng bộ khi không có kết nối Internet
- Vì vậy trên di động, người dùng thường phải dùng song song các ứng dụng hỗ trợ ngoại tuyến/đồng bộ như Apple Notes
Bảo mật, tính tiện dụng, checklist và khả năng mở rộng quy mô lớn
- Mức độ lo ngại về bảo mật tương đối thấp. Các doanh nghiệp đầu tư vào độ tin cậy của GitHub và nền tảng này có độ tín nhiệm cao
- Mọi nền tảng ghi chú đều có rủi ro rò rỉ do lỗi, vì vậy không nên lưu dữ liệu nhạy cảm
- Không cần trả phí hay self-hosting nên nguy cơ làm mất ghi chú thấp hơn
- Việc sử dụng checklist Markdown (
- [ ] item) hoặc tham chiếu issue (- [ ] #ref) rất hữu ích
- Khi issue đó được đóng, mục tương ứng sẽ tự động được đánh dấu hoàn tất
- Cũng có thể thử nhiều phương pháp sao lưu khác nhau, ví dụ github-to-sqlite
- Khả năng mở rộng cũng rất tốt: có các trường hợp quản lý hơn 190 nghìn issue trong kho lưu trữ vscode và hơn 100 nghìn issue trong kho lưu trữ flutter
LLM và các cách tận dụng khác
- Việc đưa dữ liệu issue qua pipeline sang AI tạo sinh như LLM cũng rất thuận tiện
- Thực tế đã có trải nghiệm tóm tắt một luồng issue kéo dài 1,5 năm với hơn 50 bình luận rồi sắp xếp lại thành bình luận mới
Tổng hợp và tận dụng dữ liệu hoạt động
- Có thể thống kê số lượng issue·bình luận mà bản thân đã tạo trên GitHub bằng truy vấn GraphQL
{
viewer {
issueComments {
totalCount
}
issues {
totalCount
}
}
}
- Kết quả thực tế là 9.413 issue, 39.087 bình luận, tổng cộng 48.500 mục đứng tên tác giả
Kết luận
- GitHub Issues có thế mạnh ở mọi mặt như miễn phí, cộng tác, tự động hóa, tìm kiếm, khả năng mở rộng và tính ứng dụng
- Nếu chỉ cần bổ sung đồng bộ ngoại tuyến thì đây trên thực tế sẽ là giải pháp sổ tay số gần như tốt nhất
1 bình luận
Ý kiến trên Hacker News
Chia sẻ trải nghiệm từng dùng GitHub Issues làm công cụ quản lý dự án khi chuẩn bị đám cưới. Ban đầu vợ anh ấy khá nghi ngờ, nhưng nhờ việc thêm nhãn, tìm kiếm và cộng tác rất dễ dàng nên mọi việc chuẩn bị đám cưới đã hoàn thành đúng hạn. Phần khó nhất mà anh ấy nhớ là tạo một liên kết bookmark để đi thẳng tới issue tracker. Gần đây khi chuyển nhà, anh ấy cũng dùng GitHub Issues để sắp xếp các thùng đồ. Mỗi thùng tạo một issue, ghi nội dung thùng trong phần mô tả, rồi viết số issue lên thùng, sau đó có thể dễ dàng tìm được món nào nằm trong thùng nào bằng tìm kiếm trên GitHub
Hỏi rằng ngoài cách này ra, liệu anh ấy có thử giải pháp nào khác không, và vì sao chúng lại không đủ tốt
Thắc mắc đơn giản rằng liệu chỉ cần viết thẳng nội dung lên mặt ngoài thùng là được mà
Gợi nhớ tới một câu chuyện về dự án sửa nhà từng thấy trên Hacker News. Có vẻ giờ đã biến mất khỏi GitHub, nhưng giới thiệu liên kết tới dự án đó
Ở công ty cũ, từng định dùng GitLab làm công cụ quản lý dự án tổng thể, nhưng việc triển khai bị dừng lại vì không có tính năng tham chiếu giữa các dự án. Nó phù hợp với dự án mã nguồn mở, nhưng ở công ty hiện tại thì GitLab có thể thay thế YouTrack, và đã thay thế xong Upsource
Nhớ tới xkcd tập 1172. Có rất nhiều giai thoại thú vị kiểu này, và trên đời có không ít người sở hữu những quy trình làm việc kỳ quặc. Dù vậy, xử lý những việc này bằng công cụ phù hợp vẫn luôn tốt hơn. Nhân tiện, người này từng dùng Org mode để sắp xếp công việc khi chuyển nhà ra nước ngoài. Họ tuyệt đối không chấp nhận việc giao dữ liệu cá nhân cho Microsoft
Một điều thú vị: nếu dán truy vấn GraphQL dưới đây vào GitHub GraphQL Explorer thì có thể xem ngay tổng số issue và comment mà mình từng đăng lên GitHub
Người này ghi nhận tổng cộng 48,500 mục, gồm 9,413 issue và 39,087 bình luận
Tưởng rằng bình luận đầu tiên sẽ nói về quyền riêng tư, nhưng hóa ra không phải. Bản thân người này không để lại quá nhiều ghi chú, nhưng cho rằng đó là dữ liệu còn riêng tư hơn email. Họ không muốn những thông tin cá nhân như vậy bị dùng để huấn luyện LLM. Cũng thắc mắc liệu Microsoft có đưa ra bất kỳ đảm bảo nào về quyền riêng tư của private repository hay không
Vì GitHub Issues chứa rất nhiều bí mật công ty cực kỳ nhạy cảm nên có lẽ bảo mật và quyền riêng tư ở đó phải rất mạnh. Nhiều doanh nghiệp giao mã nguồn và các hiện vật liên quan cho GitHub và trả rất nhiều tiền, nên xây dựng niềm tin là cốt lõi trong mô hình kinh doanh của GitHub. Có ý kiến cho rằng họ sẽ không mạo hiểm dùng bí mật nội bộ của khách hàng để huấn luyện mô hình
Giới thiệu liên kết thảo luận liên quan tại đây về câu hỏi “Microsoft có đảm bảo quyền riêng tư cho private repository hay không”
Đặt nghi vấn với nhận định rằng “tìm kiếm của GitHub rất xuất sắc”. Ví dụ, dù có một bình luận chứa chính xác cụm “current logs could do with a bit of redesign”, vẫn phải đặt nó trong dấu ngoặc kép mới tìm ra được, và việc tìm kiếm cũng thất bại chỉ vì lỗi chính tả như “redesing”
Không chỉ người này mà rất nhiều người cũng từng cố tìm ứng dụng ghi chú tốt nhất, nhưng rồi lúc nào cũng quay về việc chất đống các file Markdown trong một repo Git
Nếu muốn tiếp tục dùng cách đó, có người chia sẻ rằng tổ hợp Obsidian + Git Plugin là tốt nhất. Trên desktop thì hoạt động tuyệt vời, nhưng trên iOS cần thiết lập thêm một chút
Có đề xuất thử một ứng dụng ghi chú miễn phí mã nguồn mở. Người bình luận nói rõ mình là khách hàng của nhà phát triển và giới thiệu em là một ứng dụng ghi chú đẹp, tối giản cho việc sắp xếp suy nghĩ cá nhân
So với các ứng dụng tự động đồng bộ hai chiều trên mọi thiết bị, cách làm phải commit/push/pull thủ công cho mỗi ghi chú mới hoặc được chỉnh sửa tạo cảm giác khá lỗi thời
Người này cũng vậy, nhưng dùng file Org-mode thay vì Markdown, và khi cần thì thêm dần các thẻ org-roam
Chia sẻ trải nghiệm khổ sở khi qua lại giữa Apple Notes và thư mục Markdown. Thư mục Markdown có tính tương thích lâu dài tốt hơn, nhưng Apple Notes lại vượt trội về thiết kế, sự đơn giản và hỗ trợ media. Ứng dụng Markdown càng hỗ trợ nhiều tính năng thì càng trở nên đóng hơn, và cả ứng dụng chỉ để đọc cũng phải hỗ trợ hết các tính năng đó. Cuối cùng người này vẫn ở lại với Apple Notes, nhưng lần này lại đang tự tay chuyển sang thư mục Markdown bằng Obsidian. Dù đã dùng tính năng xuất dữ liệu, định dạng vẫn rất tệ nên giờ phải sửa lại toàn bộ ghi chú
Với tùy chọn “keep downloaded” của iCloud, giờ có thể lưu toàn bộ thư mục và file ở máy cục bộ. Vì vậy, mọi ứng dụng lưu file vào iCloud đều có thể hỗ trợ vừa làm việc ngoại tuyến vừa tự động đồng bộ trực tuyến
Hỏi về cách xử lý xung đột đồng bộ và chu kỳ đồng bộ
Hỏi liệu khi di chuyển thư mục, iCloud vẫn còn dùng cách tải xuống rồi tải lên lại hay không
Giới thiệu các lựa chọn thay thế như dùng Codeberg hoặc tự host Forgejo để tránh vendor lock-in
Quan điểm cho rằng GitHub Issues là bug tracker/hệ thống ticket tốt nhất. Khen giao diện trực quan, đơn giản và nhanh. Tuy nhiên cũng hơi lo Microsoft sẽ phá hỏng nó bằng một đợt redesign
Từng dùng nhiều issue tracker khác nhau trong công việc, nhưng có người cảm thấy GitHub thiếu vài tính năng quan trọng. Cụ thể là không thể viết phần tóm tắt issue tách biệt với comment, thiếu kiểm soát truy cập nâng cao (không thể chỉ cho một số người xem một issue cụ thể), và không có tính năng ghi chú cá nhân riêng tư để ghi tạm thay vì đăng comment công khai
Một cách ví von rằng Azure DevOps giống như một “giếng hấp dẫn” được tạo ra để ngăn triết lý marketing của Microsoft bị hấp thụ vào GitHub
Có chỉ trích rằng tính mở đã giảm đi, như việc đã dựng bức tường đăng nhập và số lượng issue có thể tìm kiếm được cũng đang bị giới hạn nhanh chóng
Đáng tiếc là không có tính năng liên thông/federation. Có ý kiến cho rằng việc tập trung hóa một kho mã nguồn khổng lồ là điều mà toàn bộ cộng đồng lập trình viên nên tránh. Tính năng merge request liên kết của GitLab (issue liên quan) đã 9 năm không có tiến triển. Chỉ cần có tính năng này thì mọi người đã có thể cộng tác kiểu git mà không cần tất cả cùng dùng một hệ thống tập trung. Nhân tiện, có nhắc tới câu chuyện gần đây Microsoft đã chặn tài khoản email của công tố viên trưởng Tòa án Hình sự Quốc tế theo lệnh của chính quyền Mỹ. Điều này xảy ra không lâu sau khi họ quảng bá rằng sẽ đứng về phía Liên minh châu Âu, tạo nên một nghịch lý. Nếu một ngày nào đó Trump yêu cầu Microsoft chặn quyền truy cập GitHub từ EU thì họ hoàn toàn có thể làm được. Cảnh báo rằng cần suy nghĩ kỹ về tác động chuyện đó có thể gây ra cho doanh nghiệp và mã nguồn mở
Không chỉ công nghệ Trung Quốc, mà độ đáng tin của công nghệ Mỹ giờ cũng trở nên bất ổn, nên các cơ quan công và chính phủ cần xem xét lại sự phụ thuộc vào công nghệ của một quốc gia cụ thể
Muốn thử các lựa chọn thay thế như Radicle. Nếu đợi đến khi tình hình tệ hơn mới bắt đầu thì có lẽ sau này sẽ hối tiếc
Cảm giác gần giống Obsidian, nhưng có phần nhiều thủ tục hơn
Đùa rằng một trong những “thủ tục” đó có thể là “phải trả $50 mỗi năm để truy cập trên mọi thiết bị” hoặc “$100 mỗi năm để truy cập qua web”
Thực ra Obsidian cũng mang cảm giác như thêm vài bước thủ tục lên trên các file văn bản. Nhưng về bản chất, file văn bản vốn đã rất mạnh, và cũng có nhiều cách để đồng bộ giữa các thiết bị
Khác với Obsidian, GitHub Issues là online-only. Nếu không thể sao lưu thì đó rõ ràng là một vấn đề
Thắc mắc liệu có thể tự host Obsidian hay không. Khi dùng cho công việc thì lo ngại bảo mật, nên đề xuất chỉ lưu cục bộ và sao lưu riêng các file Markdown bằng OneDrive