You are currently viewing In ảnh đại diện GitHub ra máy in hoá đơn chỉ bằng một sao

In ảnh đại diện GitHub ra máy in hoá đơn chỉ bằng một sao

Có những dự án mã nguồn mở mà đọc mô tả xong bạn phải bật cười. aschmelyun/print-my-profile-pic là một trong số đó. Bạn star repo, một cái máy in hoá đơn nhiệt nằm trên bàn tác giả ở đâu đó sẽ in ra ảnh đại diện GitHub của bạn, đóng khung, rồi dán lên tường. Hết. Không có gì thêm.

Nghe thì vô nghĩa, nhưng cách nó được ghép lại mới là phần đáng đọc. Và 789 sao trong hai ngày là tín hiệu cho thấy cộng đồng dev cũng thấy ý tưởng này buồn cười theo đúng kiểu tích cực.

Nó làm gì, cụ thể từng bước

Repo này không phải một thư viện để bạn cài vào project. Nó là hạ tầng vật lý của một người. Tác giả dựng một webhook trên GitHub cho sự kiện star. Khi ai đó bấm star, GitHub POST một payload về một domain Cloudflare Tunnel, chuyển tiếp vào một script PHP chạy trên con Raspberry Pi đặt trên bàn làm việc.

Script đọc payload, lấy tên hiển thị và URL avatar của người vừa star. Nó render ảnh đại diện ra sau một khung ảnh cắt sẵn, thêm vài thông tin mà tác giả tự chọn đưa vào mỗi tờ hoá đơn, rồi đẩy dữ liệu qua USB xuống máy in nhiệt Epson TM-T88IV. Dùng thư viện escpos-php để format dữ liệu in.

Vấn đề nó “giải quyết” thì đúng hơn là một cái cớ để chơi. README ghi rõ: “It sounded fun when my friend Sam mentioned it. That’s pretty much it!” Không có nhu cầu thị trường nào ở đây cả. Nhưng về mặt kỹ thuật, nó là một ví dụ gọn gàng của một pipeline event-driven chạm tới phần cứng thật: webhook → tunnel → PHP → USB → giấy in ra.

Vì sao nó đang hot

789 sao, tạo ngày 27/10/2026, cập nhật ngày 29/10/2026. Tức là repo mới sống được hai ngày và đã gom gần 800 sao. Con số này tự nó giải thích: người ta star để được in ảnh, chứ không phải để dùng code. Cơ chế viral nằm ngay trong tính năng, một vòng lặp tự thân hiếm thấy.

In ảnh đại diện GitHub ra máy in hoá đơn chỉ bằng một sao - ảnh 1
Ảnh: github.com/aschmelyun/print-my-profile-pic

Điểm khác biệt so với đa số repo “showcase” là nó có hệ quả vật lý. Bạn star một repo bình thường thì chẳng có gì xảy ra. Ở đây, hành động của bạn biến thành một tờ giấy in nhiệt có mặt thật trên tường nhà một người lạ. Cái phản hồi vật lý đó khiến người ta tò mò và muốn thử.

Còn một chi tiết khá khôn: README ghi nếu bạn tài trợ one-time bất kỳ số tiền nào trước đó, ảnh của bạn sẽ được in trong một khung đặc biệt. Vừa vui, vừa là một cách kiếm tiền nhỏ mà không cần kêu gọi lộ liễu.

Cài đặt và dùng thử

Nếu bạn định clone về chạy thử thì phải nói thẳng: không có hướng dẫn cài đặt trong README. Không có file cấu hình mẫu, không có biến môi trường được liệt kê, không có lệnh chạy. README chỉ mô tả kiến trúc và cách nó hoạt động trong hệ thống của tác giả.

Phần duy nhất bạn có thể “dùng” ngay là star repo. Không cần lệnh gì cả, bấm nút trên GitHub là xong, ảnh của bạn sẽ được xếp vào hàng đợi in. Nếu muốn một khung đặc biệt thì tài trợ one-time trước, đúng như README ghi:

If you give a one-time sponsorship of any amount beforehand, your profile picture will be printed in a special frame.

Còn nếu bạn muốn dựng lại hệ thống tương tự cho riêng mình, bạn sẽ phải tự đọc code và tự lo phần cứng. Các mảnh cần có theo mô tả: một webhook GitHub, một tunnel (tác giả dùng Cloudflare Tunnel), một máy chủ nhỏ (Raspberry Pi), một máy in nhiệt Epson TM-T88IV nối USB, và thư viện escpos-php để format dữ liệu in. Tất cả những thứ này đều có sẵn, chỉ là README không đóng gói thành một hướng dẫn copy-paste được.

Ai nên quan tâm

Đừng tìm repo này nếu bạn cần một công cụ. Nó không phải công cụ.

  • Người mới học về webhook: đây là ví dụ end-to-end dễ hiểu, từ event trên GitHub tới một thiết bị ngoại vi. Payload, tunnel, xử lý, xuất ra phần cứng.
  • Ai thích IoT hoặc hardware hacking ở mức nhẹ nhàng: máy in nhiệt là thiết bị rẻ, dễ mua, và escpos-php là đường tắt để nói chuyện với nó.
  • Ai đang tìm ý tưởng cho một dự án side-project vui vẻ, kiểu thứ khiến người khác bấm star chỉ để xem chuyện gì xảy ra.
  • Người làm marketing cộng đồng hoặc devrel: cách biến một hành động tương tác nhỏ thành phản hồi vật lý là một bài học về engagement đáng để mổ xẻ.
In ảnh đại diện GitHub ra máy in hoá đơn chỉ bằng một sao - ảnh 2
Ảnh: github.com/aschmelyun/print-my-profile-pic

Còn nếu bạn cần in hàng loạt, cần độ ổn định, cần SLA, thì đây không phải chỗ. Một con Pi trên bàn và một cái máy in nhiệt không phải hạ tầng production.

Ưu điểm và những chỗ cần cân nhắc

Ưu điểm rõ nhất là tính minh bạch của kiến trúc. README giải thích từng khâu, không giấu gì, và danh sách linh kiện đủ cụ thể để người khác hình dung hoặc làm theo. Nó cũng là một mẫu tốt cho việc dùng webhook GitHub như một trigger thật sự, chứ không chỉ để gửi thông báo Slack.

Mặt hạn chế thì cũng rõ. Không có license được ghi nhận. Không có topics. Ngôn ngữ chính không được xác định. README không có hướng dẫn setup, không có test, không có tài liệu API. Đây là repo của một dự án cá nhân, độ trưởng thành ở mức “chạy được trên máy tác giả”, không hơn. Đừng kỳ vọng maintain lâu dài hay nhận issue support.

Một điểm nữa cần lưu ý về mặt vận hành nếu bạn định làm theo: webhook nhận payload từ bất kỳ ai star, nghĩa là script phải xử lý dữ liệu không kiểm soát được về phía mình. Tác giả không nói gì về việc lọc hay giới hạn, nên đây là chỗ bạn tự lo nếu dựng lại. Tương tự với chuyện hàng đợi: nếu repo viral mạnh, máy in nhiệt sẽ in liên tục và giấy sẽ hết, chuyện mà 789 sao trong hai ngày có thể đã cho thấy.

Về giấy in nhiệt, ai từng dùng máy in hoá đơn đều biết bản in sẽ mờ dần theo thời gian và nhiệt độ. Ảnh đại diện dán lên tường sẽ phai. Không rõ tác giả có tính đến chuyện này không, nhưng đó là bản chất của công nghệ in nhiệt, không phải lỗi của repo.

Vài dòng cuối

Đây là loại repo mà giá trị nằm ở việc đọc chứ không phải ở việc dùng. Nó cho thấy một webhook GitHub, một tunnel, một con Pi và một cái máy in nhiệt có thể ghép thành một thứ vui, và ghép đủ gọn để người khác đọc hiểu trong vài phút. 789 sao trong hai ngày là con số hợp lý cho một ý tưởng như vậy. Nếu bạn muốn ảnh mình lên tường nhà tác giả, vào aschmelyun/print-my-profile-pic và bấm star.

Chia sẻ bài này

TelegramXFacebookZalo
Đăng ngày 30/10/2026
Giang Na
Về tác giả: Giang Na
Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.

Giang Na

Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.