5 điểm bởi GN⁺ 2025-11-12 | 4 bình luận | Chia sẻ qua WhatsApp
  • Trong công việc hằng ngày, việc đồng nghiệp chụp màn hình văn bản rồi gửi đi xảy ra rất thường xuyên, và đây là một cách làm kém hiệu quả khiến việc tìm kiếm mã và nắm bắt ngữ cảnh trở nên cực kỳ khó khăn
  • Với đoạn mã nhận qua ảnh chụp màn hình, hoàn toàn không thể biết được ngữ cảnh như định nghĩa biến, vị trí module, cách xử lý ngoại lệ; vì thế phải gõ thủ công vào ô tìm kiếm hoặc huy động coding agent
  • Khi log lỗi build được gửi dưới dạng ảnh chụp màn hình, không thể biết mục tiêu build, dòng bị lỗi, hay thông báo lỗi chính xác, nên gần như không thể xử lý sự cố
  • Nếu dùng sao chép-dán văn bản hoặc chia sẻ file/liên kết GitHub, có thể tận dụng chức năng tìm kiếm của IDE và kiểm tra toàn bộ ngữ cảnh
  • Trừ khi là vấn đề liên quan đến hiển thị trên màn hình, văn bản nên được chia sẻ ở dạng có thể sao chép thay vì ảnh chụp màn hình để bảo đảm hiệu quả cộng tác

Ví dụ vấn đề với ảnh chụp màn hình 1: Mã nguồn

  • Khi thảo luận với đồng nghiệp về một vấn đề liên quan đến mã, bạn lại nhận được ảnh chụp màn hình mã nguồn
    • Hoàn toàn không thể nắm được ngữ cảnh cốt lõi như nơi định nghĩa biến slug, cách tạo baseUrl, lý do hardcode domain, cách xử lý ngoại lệ, hay vị trí của module đó
    • Phải gõ thủ công đoạn mã trong ảnh vào ô tìm kiếm hoặc dùng coding agent để tìm module liên quan
  • Nếu dùng sao chép-dán, ngay cả cùng một dòng cũng có thể xem được nhiều ngữ cảnh hơn, đồng thời có thể dán trực tiếp vào chức năng tìm kiếm của IDE
  • Chia sẻ chính file đó hoặc liên kết GitHub sẽ hiệu quả hơn nhiều

Ví dụ vấn đề với ảnh chụp màn hình 2: Log lỗi build

  • Bạn nhận được ảnh chụp màn hình log lỗi kèm theo yêu cầu: "Build bị lỗi, bạn có thể kiểm tra giúp không?"
    • Hoàn toàn không thể biết đã build cái gì, lỗi ở dòng nào, hay thông báo lỗi chính xác là gì
    • Có những trường hợp khi tự chạy lại toàn bộ build trên workstation của mình thì lại thành công
  • Đây là kiểu vấn đề có thể giải quyết đơn giản nếu sao chép toàn bộ log lỗi hoặc dump log ra file rồi gửi đi

Cách chia sẻ văn bản đúng đắn

  • Đừng gửi văn bản bằng ảnh chụp màn hình; hãy chia sẻ ở dạng có thể sao chép
  • Chỉ nên dùng ảnh chụp màn hình khi cần cho thấy vấn đề thẩm mỹ trong hiển thị màn hình, hoặc khi có thông tin liên quan sẽ bị mất nếu chỉ dùng văn bản thuần túy
  • Chia sẻ file hoặc cung cấp liên kết GitHub là cách tốt nhất để nắm ngữ cảnh và tìm kiếm mã nguồn

4 bình luận

 
tested 2025-11-12

Đôi khi tôi cũng chụp mã rồi đăng lên vì tính dễ đọc khi hiển thị trong editor lúc chụp, cùng sự tiện lợi của phím tắt chụp màn hình được OS hỗ trợ sẵn.

Nếu có một chương trình chỉ với một phím tắt có thể biến đoạn mã trong ảnh chụp thành liên kết như Text fragments để chia sẻ ra bên ngoài và cho phép dán ngay, thì có lẽ tôi sẽ dùng nó.

Khi đăng lên Slack thì có thể hiện preview, và khi bấm vào liên kết thì có thể sao chép mã

 
kunggom 2025-11-12

Tôi ghét ảnh chụp màn hình chứa văn bản

Để câu tương tác một chút, tôi xin đưa ra một trang web biến code thành ảnh chụp đẹp mắt, dễ nhìn. haha

https://ray.so/

Bản thân tôi khi gửi gì đó qua messenger hay email cũng cố dùng văn bản nhiều nhất có thể, nhưng thật ra tùy trường hợp thì chỉ dùng văn bản đôi khi lại còn bất tiện hơn.
So với vậy, chụp screenshot thì chỉ cần bấm một phím tắt, quét vùng màn hình rồi dán vào là xử lý xong trên GUI, nên từ phía người gửi chắc chắn sẽ thấy tiện hơn.
Tuy nhiên, như bài viết gốc cũng đã chỉ ra, từ phía người nhận thì chỉ với screenshot thôi nhiều khi không truyền tải hết ngữ cảnh, lại còn bất tiện cho việc tìm kiếm hay sao chép-dán, nên tôi nghĩ việc phát sinh sự khó chịu là điều dễ hiểu. Chưa kể nó còn tạo ra overhead cho việc truyền và lưu trữ dữ liệu lớn hơn rất nhiều so với mức thực sự cần thiết.
Mà nếu cá nhân tôi bắt đầu soi từng chuyện như thế này thì ngay cả việc trong công ty làm tài liệu nội bộ bằng file Word thay vì wiki chẳng hạn, cũng đã là điều khiến tôi khó chịu rồi…

 
GN⁺ 2025-11-12
Ý kiến Hacker News
  • Như đã được nhắc ở các bình luận khác, tính năng OCR tự động trên nền tảng Apple thực sự mang tính cách mạng
    Tôi nghĩ tính năng như vậy nên được tích hợp mặc định vào trình xem tài liệu trên mọi nền tảng
    Một điều nữa tôi mong muốn là đưa siêu dữ liệu vào ảnh chụp màn hình. Ví dụ, nếu chụp một ảnh trên Instagram thì sẽ kèm URL tương ứng; trong trình duyệt thì kèm URL hiện tại và đường dẫn DOM; trong ứng dụng bản đồ thì kèm tọa độ; trong trình xem PDF thì kèm hash SHA1 của tài liệu và offset
    Dĩ nhiên sẽ có vấn đề quyền riêng tư, nhưng tôi nghĩ ý tưởng này hẳn đã từng được giới học thuật nghiên cứu rồi
    Ngày nay khái niệm tệp đã trở nên trừu tượng hơn, nên có cảm giác ảnh chụp màn hình đã trở thành ngôn ngữ chung của thời đại điện toán di động
    Nhân tiện, tôi cũng rất muốn nhắc đến Screenshot Conf

    • Tôi hoàn toàn đồng ý về OCR, nhưng việc nhúng siêu dữ liệu có thể trở thành một cơn ác mộng về quyền riêng tư
      Ảnh chụp màn hình được xử lý ở cấp hệ điều hành, nên việc ứng dụng biết mình vừa bị chụp hay biết cả thông tin vị trí là rất nguy hiểm
      Các công ty như Evernote hay CloudApp đã từng thử, nhưng cuối cùng đều thất bại. Ảnh chụp màn hình chỉ hữu ích khi nó đơn giản
    • Tôi là tác giả bài viết, và đáng lẽ tôi nên đề cập đến vấn đề ảnh chụp trang web bị thiếu URL
      Hệ thống tôi xây dựng đưa rất nhiều thông tin ngữ cảnh vào URL, nhưng ảnh chụp màn hình lại không chứa phần đó
      Vì vậy tôi luôn phải yêu cầu URL dưới dạng văn bản riêng
    • Gần đây Google và Apple cũng đã nhận ra xu hướng này
      Họ đang thêm các tính năng như insight từ AI, tìm kiếm sản phẩm, trò chuyện với Gemini/LLM vào giao diện sau khi chụp màn hình
      Vì ai cũng đang dùng ảnh chụp màn hình để lưu trữ hoặc tìm kiếm thông tin
    • Ý tưởng đưa URL của ảnh Instagram vào ảnh chụp màn hình đúng là một cơn ác mộng về quyền riêng tư
    • Một điều thú vị là các bản phát triển đầu tiên của MacPaint từng có chức năng sao chép OCR đơn giản
      Nhưng vì sợ người dùng sẽ dùng nó như trình xử lý văn bản nên tính năng đó đã bị loại khỏi bản phát hành
  • Tôi là người dùng ảnh chụp màn hình khá thường xuyên
    Lý do là nó giữ được độ rộng 80 ký tự để dễ đọc, đồng thời vẫn bảo toàn phông chữ monospace và tô sáng cú pháp
    Nếu muốn mã nguồn hay đầu ra terminal không bị hỏng khi gửi qua email hoặc chat trên di động, thì ảnh chụp màn hình là cách chắc ăn nhất
    Tất nhiên khi cần cả tệp đầy đủ thì tôi vẫn đính kèm, nhưng phần liên quan thì tôi gửi thêm bằng ảnh chụp màn hình

    • Trong chat thì khả năng sao chép và tìm kiếm quan trọng hơn
      Ảnh chụp màn hình phải phóng to mới xem được, và cũng bất lợi cho khả năng truy cập
      Nếu gửi dưới dạng văn bản thì việc tìm kiếm và sao chép sẽ dễ hơn
    • Mấy thứ như “độ rộng 80 ký tự” là sở thích cá nhân thôi
      Hầu hết hệ thống giờ đã hỗ trợ phông chữ monospace, và vấn đề thực ra lại nằm ở yếu tố môi trường như cách Gmail hiển thị
      GMail không có giới hạn chiều rộng và kích thước phông chữ cũng không đồng đều nên rất khó đọc
    • Kiểu ưu tiên định dạng này là chuyện cá nhân, nên không nên ép người khác bằng ảnh chụp màn hình
      Với URL dài hoặc màn hình rộng thì độ dễ đọc còn giảm mạnh hơn
    • Tôi cũng thích ảnh chụp màn hình
      Vì màu sắc, định dạng và ngữ cảnh đều được giữ nguyên
      Khi giải thích vấn đề thì câu “một bức ảnh đáng giá ngàn lời nói” là hoàn toàn đúng
    • Tôi thấy mã nguồn ở dạng văn bản tốt hơn nhiều
      Như vậy tôi có thể xem trong editor của mình với phông chữ, chiều rộng, màu sắc đúng theo sở thích, lại còn tìm kiếm và chỉnh sửa được
      Ảnh chụp màn hình rốt cuộc chỉ làm người khác bất tiện
  • Tính năng nhận diện và sao chép văn bản trên Mac và iOS thật sự mang tính cách mạng
    Có thể sao chép ngay văn bản trong ảnh chụp màn hình hoặc ảnh chụp rồi dán vào ghi chú

    • Snipping Tool trên Windows cũng có tính năng trích xuất văn bản
    • Có người gửi cho tôi ảnh chụp số điện thoại qua iMessage, tôi chỉ chạm vào là cửa sổ gọi điện hiện ra ngay
      Khoảnh khắc đó đúng là có cảm giác đang sống trong tương lai
    • Tính năng đồng bộ sao chép-dán giữa MacBook và iPhone đã thay đổi hoàn toàn quy trình làm việc của tôi
    • Điều khiến tính năng này tuyệt vời là nó được tích hợp nhất quán trên toàn hệ thống
      Trong Safari còn có thể dịch văn bản trong ảnh, đặc biệt hữu ích khi dịch các trang web tiếng Nhật
    • Tôi dùng Shottr, nên ngay sau khi chụp màn hình chỉ cần nhấn “O” là OCR chạy luôn
      Không cần lưu tệp mà xử lý ngay nên rất tiện
  • Trước đây người ta từng dán ảnh chụp màn hình vào tài liệu Word để gửi đi
    Nhưng giờ lại đề xuất dùng LLM để trích xuất văn bản lần nữa thì quá lãng phí
    Điều thực sự cần cuối cùng vẫn là một đổi mới UI để chia sẻ văn bản dễ như chia sẻ ảnh chụp màn hình

    • Còn có trường hợp tệ hơn nữa. Có người chụp ảnh trực tiếp từ màn hình rồi gửi đi
      Thấy những người mới muốn làm lập trình mà còn làm vậy thì thật bực mình
    • Ở một số công ty, người ta dùng tài liệu Word như thư mục
      Tức là chèn các tệp Word khác vào trong tài liệu như các đối tượng thực sự
    • Cũng có một truyện tranh XKCD liên quan → xkcd 2116
  • Quy tắc thứ 7 trong bài tôi viết, “Cách xin trợ giúp trên Slack”, là “đừng đăng ảnh chụp màn hình chứa văn bản
    Dù OCR của Apple có tốt đến đâu thì vấn đề không thể tìm kiếm vẫn còn nguyên
    Liên kết bài gốc

    • Nhưng Spotlight và Photos vẫn có thể tìm kiếm văn bản bên trong ảnh chụp màn hình
  • Tôi thích cách gửi kèm cả tài liệu đầy đủ hoặc liên kết đến mã nguồn, đồng thời đính kèm ảnh chụp phần liên quan
    Vì ngữ cảnh trực quan được giữ lại nên khi xem lại sau này ký ức cũng dễ quay lại hơn

  • Các lập trình viên mới thường chia sẻ ảnh chụp màn hình chứa văn bản trong vài tuần đầu tiên
    Nhưng vì đọc trên di động rất bất tiện, mà Slack lại nén ảnh nên cũng không phóng to được
    Thế là cuối cùng phần lớn họ đều học cách chia sẻ bằng văn bản

  • Trong MS Teams, hỗ trợ code block quá tệ nên nhiều trường hợp phải dùng ảnh chụp màn hình

    • Tôi đang dạy các thành viên trong nhóm cách tạo Markdown code block trong Teams
      Tính năng này có tồn tại, chỉ là không dễ thấy
    • Khi thấy ảnh chụp màn hình trong Teams, phần lớn là ảnh chụp một đoạn hội thoại từ cuộc chat khác
  • Ảnh chụp màn hình là một cách làm nhanh và nhất quán
    Nó hoạt động theo cùng một cách ở web app, native app hay website
    Dù có thể gây bất tiện cho người nhận, nhưng với người gửi thì rất hiệu quả

  • Trên Linux, tôi nối hành động tùy chỉnh của xfce4-screenshooter với một script OCR dùng tesseract
    Khi chụp vùng chọn, văn bản sẽ tự động được sao chép vào clipboard
    Khi gặp trường hợp khó nhận diện thì tôi dùng Gemma3-4B + llama.cpp

 
ndrgrd 2025-11-12

Dạo này hầu hết các trình duyệt đều có tính năng Text Fragment, và tôi đang dùng nó khá hữu ích.

Hãy thử kiểm tra xem nó có hoạt động với liên kết được tô sáng trong bài viết này hay không.