mw: Hơn 200 dịch vụ của AWS được xây dựng trên khoảng 10 dịch vụ cốt lõi như EC2, Lambda, S3, DynamoDB, KMS, IAM, v.v., nhưng bên dưới chúng còn có những dịch vụ nền tảng khác không được cung cấp ra bên ngoài.
Tôi đang tự triển khai quản lý khóa gốc và chứng chỉ, kho cấu hình để ánh xạ hạ tầng triển khai, quản lý danh tính, v.v. với mức phụ thuộc tối thiểu, để không dựa vào bất cứ thứ gì và tránh phụ thuộc vòng. Điểm thú vị nữa là không mở rộng quy mô lớn, mà thiết kế để một nút đơn lẻ xử lý toàn bộ tải dự kiến.
samcat116: Tôi tò mò cụ thể những dịch vụ nền tảng đó là gì.
theisaaczone: Tôi đã viết bằng Go một web API ping danh sách máy chủ trả về JSON số người đang kết nối vào máy chủ Minecraft. Về kỹ thuật thì không phức tạp hay lớn, nhưng tôi rất tự hào khi thấy nó xử lý 1–2 triệu request mỗi tháng mà không gặp vấn đề.
Gần đây tôi đã viết lại để loại bỏ mọi dependency ngoài thư viện chuẩn, và tôi thích những dự án có phạm vi nhỏ như thế này.
dijit: Cũng có một plugin xuất trạng thái Minecraft làm target thu thập của Prometheus. Đây là plugin duy nhất tôi dùng trên server của mình và nó khá hữu ích.
miguno: Trong các roguelike truyền thống, tôi thích Sil-Q nhất. Nó nổi bật ở việc tái hiện trung thành thế giới Tolkien, cơ chế chiến đấu và ẩn nấp tinh tế, cùng các lượt chơi ngắn nhưng căng thẳng trong 30–60 phút; có thể mô tả nó như một trò đột kích hầm ngục ở Kỷ Đệ Nhất của Middle-earth, hoặc “Angband: Black Ops”.
Năm nay tôi đã hợp tác với Quirk, nhà phát triển gốc, và MicroChasm, họa sĩ tileset, để hồi sinh dự án đã ngủ quên này. Chúng tôi hiện đại hóa mã nguồn, sửa các lỗi đã biết trong 3 năm, tạo bản phân phối cho Win/Mac/Linux, cải thiện lối chơi và khả năng sử dụng, cũng như làm tài liệu và website.
Đây là dự án C đầu tiên của tôi, và quá trình dọn dẹp mã dành cho Amiga, NeXT, SGI, DEC Alpha, RISC OS có tuổi đời tới 40 năm, cùng bốn lớp đồ họa tự chế, khiến tôi có cảm giác như đang lang thang trong những khu mỏ bỏ hoang của Moria. Tôi cũng đã thêm một số test vào codebase vốn hoàn toàn không có test; chi tiết có tại https://github.com/sil-quirk/sil-q/releases/tag/v1.5.1-beta1
Dù chỉ là một game nhỏ thuộc thể loại ngách, bản beta mới đã được tải xuống 900 lần, và trong thời kỳ tràn ngập các sản phẩm vibe coding có vẻ sẽ nhanh chóng bị bỏ rơi, việc chăm sóc một game mã nguồn mở có phả hệ lâu đời mang lại cảm giác an ủi.
DustyFuzzy: Tôi đã xây dựng một trang cá nhân để lưu trữ nội dung người lớn từ năm 2021. Tôi đã triển khai lấy URL, tag, xếp hạng Glicko-2 dựa trên kết quả đối đầu giữa hai mục, v.v., và chuyển từ Python sang .NET Core.
Khi số file tiến gần 70.000, việc tối ưu những đoạn mã O(n²) viết ngây thơ cũng trở nên thú vị.
icefox: Tôi tò mò trải nghiệm dùng .NET Core lâu dài của bạn thế nào. Tôi có ký ức tốt với C#/F# và có vẻ có thể dễ dàng tạo môi trường CLI nhất quán ngay cả ngoài Windows, nhưng Microsoft dường như đã đổi hướng và công cụ vài lần trong 5 năm qua, nên tôi không chắc về triển vọng dài hạn.
alterae: Tôi đã làm một công cụ dòng lệnh để chọn ngẫu nhiên một mục từ danh sách, và ngạc nhiên là tôi dùng nó rất thường xuyên. Trang man còn dài hơn mã nguồn, và quá trình viết nó thật sự rất vui.
bitshift: Tôi tò mò bạn dùng nó như thế nào. Tôi thường dùng shuf -n để lấy mẫu từ các file hay danh sách lớn; nó hữu ích khi muốn nắm sơ bộ thành phần người gửi request mà không cần đọc toàn bộ log request.
fazalmajid: Tôi đã dùng RSS reader tự làm từ năm 2004, và năm nay, để học, tôi tự tay viết lại phiên bản Python sang Rust. Tình trạng cạnh tranh khóa ghi SQLite do xử lý văn bản chậm của Python đã biến mất, nên hiệu năng tăng mạnh.
Phiên bản mới https://github.com/fazalmajid/rTemboz vẫn chưa hoàn toàn ngang tính năng, nhưng cũng có những tính năng trước đây không có. Đây là ứng dụng tôi dùng nhiều nhất, để đọc lobste.rs và lọc nhiễu văn hóa đại chúng; việc tự kiểm soát ưu tiên feed thay vì để Facebook·Google·Apple làm hộ là cách giữ chủ quyền và sự độc lập.
lcamtuf: Điều thú vị nhất không phải là phần mềm, mà là rời khỏi máy tính và làm ra những vật cầm nắm được. Ví dụ như đồng hồ vôn kế và máy tính dùng đồng hồ panel.
Sau hơn 15 năm viết về bảo mật máy tính, tôi thử bắt đầu một blog hoàn toàn không đụng đến công việc, viết về nền tảng của toán học, tạp học thuật toán, điện tử học. Việc ban đầu là thử xem có thể thu hút độc giả ngoài ngành hay không đã biến thành một dạng nghệ thuật trừu tượng trong thời đại LLM.
colindean: Tôi bắt đầu học kỹ năng cơ bản bằng cách nướng bánh mì với bột mì, muối, men và nước. Tôi đã thử nghiệm tỷ lệ nguyên liệu, loại bột, thời điểm cho thảo mộc và gia vị; cho đến nay tổ hợp hương thảo và muối tỏi là ngon nhất.
Thay vì đọc Modernist Bread, tôi đang tự khám phá các bí quyết. Tôi cũng đã gác các dự án phần mềm lại trong 2 năm và tự sửa khoảng 75% hai căn nhà, nhờ đó có được những kỹ năng thực dụng hiếm thấy ở dân kỹ thuật, cũng như sự tôn trọng mới dành cho các nhà thầu biết phản hồi và đến đúng giờ.
op: Toàn bộ pixel art trên https://oppi.li/art được tạo bằng trình biên tập pixel art 1-bit tôi tự viết bằng Rust. Nó tích hợp Lisp cho cấu hình và script; tôi làm chỉ cho bản thân để học các thuật toán raster 2D, và không công khai.
Làm việc không deadline hay mục tiêu cố định khiến nó thú vị hơn nhiều.
ombredog: Đang tập trung tìm hiểu cấu trúc của Servo và fuzzing trong Rust. Cũng đã làm một bản trình diễn đánh tráo con trỏ hàm bằng dyld trên macOS, và dự định công bố mã proof-of-concept cho thấy cách một hàm độc hại được đóng gói và cách tìm nó lúc runtime
Vẫn còn ở giai đoạn đầu và thường bị các fuzzer đã chuẩn bị sẵn như bản build Fuzzilli của Ladybird kéo mất sự chú ý, nhưng nó đã tạo động lực để viết ngôn ngữ hệ thống. Cũng định làm một CLI bằng Zig để tải công cụ và đưa lên noblenote trên Codeberg
luhker: Đã triển khai quá mức tinh vi một sample pad, sequencer và effect chain dựa trên web component để phát các sample mà chắc chẳng ai muốn nghe trên trang của ban nhạc. CSS hơi vỡ một chút, nhưng có thể xem markup effect chain dạng khai báo tại: https://strahlenkeller.de/endlager/
luhker: Một interpreter cho phương ngữ Brainfuck dựa trên lời bài hát cũng khá vui. Có thể gọi JavaScript bằng lệnh do người dùng định nghĩa: https://strahlenkeller.de/endlager/pfas.html
zknd: Đang làm một framework dựa trên sinh mã nhằm cung cấp năng suất ở mức framework trong khi vẫn giữ các idiom của Go. Cảm giác rất thỏa mãn khi thấy nhiều ý tưởng khớp lại thành một phần mềm nhất quán
Cũng đang phát triển firmware cho máy đọc ebook bằng Rust
z3bra: Dự án vui nhất là cyber hunt. Đây là một thử thách kiểu truy tìm kho báu, nơi phải giải các vấn đề không bao giờ gặp ngoài đời dưới những ràng buộc kỳ quặc, đồng thời tạo ra nhiều công cụ, cấu hình và mã khác nhau
Bao gồm tính hash Argon2id 5GiB, làm game Game Boy, xử lý tĩnh cookie bảo mật chỉ bằng relayd(8), proxy VPN dùng phương thức xác thực mới của ssh(1), v.v. Đây là dự án lớn nhất, mất 1 năm chuẩn bị; chương đầu có thể trải nghiệm chỉ bằng web trong khoảng 20 phút, sau đó độ khó tăng dần
jbert: Bắt đầu viết một register machine để làm target biên dịch đơn giản, rồi nó trở thành emulator Z80, sau đó phát triển tiếp thành emulator ZX Spectrum. Đã chạy được mã kiểm chứng và nhiều game thập niên 1980; thiết kế đơn giản đến bất ngờ và rất thú vị: GitHub
marx314: Vận hành Pi-hole, Domoticz, Immich self hosted photo gallery, SmokePing, http2sonos, Mealie, WireGuard, Tor, v.v. trên home server Raspberry Pi 4
Cũng có container PHP/nginx cho thiết bị web cũ, Kindle hiển thị thông tin thời tiết và Airthings Wave, iPad đời cũ để xem công thức nấu ăn, SMS cho cảnh báo quan trọng và script Signal cho các thông báo khác. Khi công việc ở công ty trở nên chính trị hóa, đây giống như một việc thiền định để kết nối lại với các vấn đề kỹ thuật
tclancy: Tôi cũng vận hành tương tự và tò mò vì sao bạn chọn Domoticz. Home Assistant gây khó chịu vì không hẳn là viết code thật, nhưng lại phải cấu hình các biến YAML thiếu tài liệu và cầu mong định dạng không bị hỏng trong quá trình lưu
aspizu: Dự án lớn nhất và phổ biến nhất là một ngôn ngữ lập trình biên dịch thành các block Scratch, viết bằng Rust: https://github.com/aspizu/goboscript
Đã phát triển và bảo trì trong nhiều năm, đồng thời chuyển từ Python sang Rust. Nhờ đó có thể tạo các dự án ấn tượng về mặt kỹ thuật trong Scratch, như engine vật lý và ray tracing
jjude: Hầu như side project nào cũng vui, nhưng điều cốt lõi là giữ được đam mê trong bao lâu. Thường thì kết thúc sau khoảng 6 tháng; thứ duy trì lâu nhất là blog không có doanh thu https://jjude.com, và tôi học được rất nhiều khi viết
Năm nay tôi phát triển SophAI https://www.sophai.app/radars trong lúc học cách làm bằng AI. Nó kết nối tài liệu từ nhiều lĩnh vực và tổng hợp thành bài viết; trong quá trình liên tục tinh chỉnh các tính năng nhỏ và nguồn tham khảo, tôi học được các công cụ AI và cách phát triển, đồng thời thỏa mãn sự tò mò
hwj: Đã viết firmware cho đồng hồ đeo tay eZ430 Chronos bằng assembly, và đang phát triển một trình biên dịch Forth bằng OCaml. Thiết kế ngôn ngữ lập trình riêng hiện đang tạm dừng
einacio: Đang viết một SMTP server bằng PHP để thay thế Postfix trên server, và thấy vui vì giao thức này khá dễ tiếp cận. Cũng đang học Twitch bằng cách phát sóng quá trình phát triển, và sau này dự định làm cả bot
spc476: Dùng Lua và LPeg để parse biểu thức, xử lý độ ưu tiên toán tử bằng Shunting Yard algorithm, rồi sinh mã cho CPU 8-bit 6809
Cũng áp dụng một tối ưu hóa đơn giản: nếu cả hai vế của biểu thức đều là literal thì tính ngay trong lúc biên dịch, và dùng cả assembler 6809 tự viết mà tôi đã phát triển vui vẻ trong nhiều năm
heavyrain266: Đang học cách đóng góp cho một dự án mà nhiều người phụ thuộc như compiler Odin. Bắt đầu từ các thay đổi nhỏ như bổ sung tính năng DirectX và hỗ trợ Win32 io_uring, rồi chuyển sang những việc không hào nhoáng như loại bỏ hai target platform không được bảo trì và cải thiện việc dò tìm cài đặt LLVM trên OpenBSD
Muốn làm cho việc bảo trì trong 10 năm tới dễ dàng hơn. Ngược lại, trong 8 năm qua, mỗi khi cố đóng góp đáng kể cho toolchain Rust, tôi đều vấp phải các rào cản kiểu doanh nghiệp như RFC, bot phân loại, review, target platform phân cấp và merge conflict thường xuyên
pcaisse: Dự án khiến tôi hài lòng nhất chắc chắn là Bản đồ ngôn ngữ Hoa Kỳhttps://languagemap.us/. Tôi đã dành quá nhiều thời gian cho việc làm sạch dữ liệu, script Bash, chỉnh ngoại hình bản đồ và tự động hóa vận hành, nhưng rất hài lòng với kết quả
Hoàn toàn không cần bảo trì và chi phí AWS cũng dưới 1 USD/tháng
LesleyLai: Thứ tôi thích nhất luôn là dự án đang làm hiện tại, và bây giờ là Vulkan renderer. Tôi hướng tới cấu trúc mô-đun để có thể dễ dàng bắt đầu các thử nghiệm đồ họa mới trên cùng một codebase
Jan200101: Khi tạo một chương trình thay thế h5ai đã ngừng bảo trì, tôi cũng học được cách triển khai FastCGI. Đây là công việc vừa thú vị vừa vất vả, đồng thời giúp tôi hiểu sâu cách web vận hành
mariusor: Tôi đã viết audio scrobbler user daemon cho trình phát MPRIS bằng C. Đây là một dự án nhỏ tôi dùng đã lâu, lưu lịch sử phát vào ListenBrainz·Last.fm·Libre.fm
zanlib: Tôi thích việc tái triển khai Lisp, nên đã tạo evalexpr bằng JavaScript, lispex bằng Elixir, và isolisp dựa trên form full-stack JS. Đây là việc đơn giản có thể làm trong một buổi chiều, nhưng mang lại cảm giác thành tựu lớn
shrike: Tôi đã tạo một công cụ tăng cường RSS feed để thêm dữ liệu Open Graph, số lượt đề xuất/bình luận và toàn văn của các bài bị cắt vào những RSS feed kém chất lượng, rồi nhập kết quả vào FreshRSS dưới dạng OPML
Một dự án khác là IRC client tùy biến theo kiến trúc client-server. Phần lớn xử lý do một máy chủ có thẩm quyền duy nhất đảm nhiệm, còn các client web, TUI và SwiftUI kết nối vào đó
pepesza: Việc tự triển khai từ đầu thư viện mật mã đường cong elliptic bằng Erlang rất thú vị. Khi tiếp tục đến KZG commitment, độ phức tạp tăng vọt
banna: Tôi đã tạo một kiến trúc tập lệnh đồ chơi và cũng viết bài liên quan; phần mới nhất nằm ở branch. Tôi đang viết lại một phần C sang Zig và suy nghĩ cách trực quan hóa luồng di chuyển dữ liệu bên trong máy ảo
Với TISC, tôi khám phá chủ nghĩa tối giản cơ học. Tôi cân nhắc mỗi thay đổi sẽ được triển khai thế nào trên máy thật, và bỏ qua nếu có quá nhiều bộ phận chuyển động hoặc nếu nó chỉ đẩy độ phức tạp sang một tầng trừu tượng khác. Hiện tại, điều thú vị nhất là nó gần với một thí nghiệm tư duy hơn là một bản triển khai
ramones: Tôi bắt đầu viết một chess engine nhỏ bằng Rust và thích ở chỗ đi hướng nào cũng có thứ để học. Có vô số lựa chọn như các đặc tả PGN, FEN, thuật toán trên chess engine wiki, và đủ loại cấu trúc dữ liệu như bit flag
icefox: Tôi rất thích quá trình làm trình mô phỏng vật lý n-vật thể bằng raylib rồi chuyển sang thư viện SDL3 GPU. Chẳng mấy chốc trọng tâm đã chuyển từ vật lý sang thử nghiệm graphics engine và shader, nhưng vẫn rất vui
Tôi cũng tình cờ viết fanfic Katalepsis trong một tháng. Không phải lo các yếu tố nhàm chán như bối cảnh và phát triển nhân vật, chỉ cần ném ba nhân vật cùng một ý tưởng tồi vào một căn phòng, việc viết tiểu thuyết lại trở nên vui vẻ
kghose: Công việc trên https://github.com/kghose/moulick là đáng nhớ nhất. Tôi tận hưởng những ràng buộc của lập trình nhúng và niềm vui khi một thiết bị nhỏ có thể cầm trên tay thực sự hoạt động
Dự án trong mơ tiếp theo là một thiết bị LLM nhúng; tôi nghĩ có mấy ai hồi nhỏ lại không từng mơ có robot đồng hành
brn: Những dự án khiến tôi hài lòng nhất là https://bewcloud.com và https://uruky.com, vì gia đình tôi vẫn dùng hằng ngày. Uruky là dự án tương đối gần đây, còn Expenses của bewCloud là phiên bản phát triển của dòng ứng dụng quản lý chi tiêu mà tôi đã làm và công khai từ năm 2008
3digitdev: Tôi đã tạo một công cụ chuyển đổi CLI nhỏ nhận nội dung clipboard rồi làm các việc như định dạng lại JSON, chuyển đổi JSON·TOML·YAML, xóa hiển thị thời gian và emoji khỏi tin nhắn sao chép từ Slack·Discord, chuyển đổi Base64, v.v.
Tôi viết nó vài năm trước, nhưng đến giờ nó vẫn hoạt động trơn tru gần như hằng ngày, nên mỗi lần dùng đều thấy vui. Web app về tương quan hệ type và xây dựng đội hình mà tôi làm khi mê Pokémon Sword/Shield cũng là một dự án thú vị khiến tôi cứ quay lại dùng
fbegyn: Khó chọn một cái, nhưng tôi thích những việc giải quyết vấn đề thực tế. Có in 3D giá đỡ tấm pin mặt trời cho bóng đèn, nấu ăn, làm mộc dù bực vì thiếu không gian, tc_exporter là phần mềm duy nhất có người dùng thực sự, và danh sách này vẫn tiếp tục dài thêm
motet-a: Tôi đã tạo một web app để các nhạc công tải lên và chia sẻ bản thu buổi tập. Đây là một dịch vụ ngách gần giống YouTube chỉ dành cho audio và chỉ ở chế độ riêng tư; người dùng chỉ khoảng vài chục người nhưng đang tăng đều
1 bình luận
Các bình luận trên Lobste.rs
mw: Hơn 200 dịch vụ của AWS được xây dựng trên khoảng 10 dịch vụ cốt lõi như EC2, Lambda, S3, DynamoDB, KMS, IAM, v.v., nhưng bên dưới chúng còn có những dịch vụ nền tảng khác không được cung cấp ra bên ngoài.
Tôi đang tự triển khai quản lý khóa gốc và chứng chỉ, kho cấu hình để ánh xạ hạ tầng triển khai, quản lý danh tính, v.v. với mức phụ thuộc tối thiểu, để không dựa vào bất cứ thứ gì và tránh phụ thuộc vòng. Điểm thú vị nữa là không mở rộng quy mô lớn, mà thiết kế để một nút đơn lẻ xử lý toàn bộ tải dự kiến.
theisaaczone: Tôi đã viết bằng Go một web API ping danh sách máy chủ trả về JSON số người đang kết nối vào máy chủ Minecraft. Về kỹ thuật thì không phức tạp hay lớn, nhưng tôi rất tự hào khi thấy nó xử lý 1–2 triệu request mỗi tháng mà không gặp vấn đề.
Gần đây tôi đã viết lại để loại bỏ mọi dependency ngoài thư viện chuẩn, và tôi thích những dự án có phạm vi nhỏ như thế này.
miguno: Trong các roguelike truyền thống, tôi thích Sil-Q nhất. Nó nổi bật ở việc tái hiện trung thành thế giới Tolkien, cơ chế chiến đấu và ẩn nấp tinh tế, cùng các lượt chơi ngắn nhưng căng thẳng trong 30–60 phút; có thể mô tả nó như một trò đột kích hầm ngục ở Kỷ Đệ Nhất của Middle-earth, hoặc “Angband: Black Ops”.
Năm nay tôi đã hợp tác với Quirk, nhà phát triển gốc, và MicroChasm, họa sĩ tileset, để hồi sinh dự án đã ngủ quên này. Chúng tôi hiện đại hóa mã nguồn, sửa các lỗi đã biết trong 3 năm, tạo bản phân phối cho Win/Mac/Linux, cải thiện lối chơi và khả năng sử dụng, cũng như làm tài liệu và website.
Đây là dự án C đầu tiên của tôi, và quá trình dọn dẹp mã dành cho Amiga, NeXT, SGI, DEC Alpha, RISC OS có tuổi đời tới 40 năm, cùng bốn lớp đồ họa tự chế, khiến tôi có cảm giác như đang lang thang trong những khu mỏ bỏ hoang của Moria. Tôi cũng đã thêm một số test vào codebase vốn hoàn toàn không có test; chi tiết có tại https://github.com/sil-quirk/sil-q/releases/tag/v1.5.1-beta1
Dù chỉ là một game nhỏ thuộc thể loại ngách, bản beta mới đã được tải xuống 900 lần, và trong thời kỳ tràn ngập các sản phẩm vibe coding có vẻ sẽ nhanh chóng bị bỏ rơi, việc chăm sóc một game mã nguồn mở có phả hệ lâu đời mang lại cảm giác an ủi.
DustyFuzzy: Tôi đã xây dựng một trang cá nhân để lưu trữ nội dung người lớn từ năm 2021. Tôi đã triển khai lấy URL, tag, xếp hạng Glicko-2 dựa trên kết quả đối đầu giữa hai mục, v.v., và chuyển từ Python sang .NET Core.
Khi số file tiến gần 70.000, việc tối ưu những đoạn mã O(n²) viết ngây thơ cũng trở nên thú vị.
alterae: Tôi đã làm một công cụ dòng lệnh để chọn ngẫu nhiên một mục từ danh sách, và ngạc nhiên là tôi dùng nó rất thường xuyên. Trang man còn dài hơn mã nguồn, và quá trình viết nó thật sự rất vui.
shuf -nđể lấy mẫu từ các file hay danh sách lớn; nó hữu ích khi muốn nắm sơ bộ thành phần người gửi request mà không cần đọc toàn bộ log request.fazalmajid: Tôi đã dùng RSS reader tự làm từ năm 2004, và năm nay, để học, tôi tự tay viết lại phiên bản Python sang Rust. Tình trạng cạnh tranh khóa ghi SQLite do xử lý văn bản chậm của Python đã biến mất, nên hiệu năng tăng mạnh.
Phiên bản mới https://github.com/fazalmajid/rTemboz vẫn chưa hoàn toàn ngang tính năng, nhưng cũng có những tính năng trước đây không có. Đây là ứng dụng tôi dùng nhiều nhất, để đọc lobste.rs và lọc nhiễu văn hóa đại chúng; việc tự kiểm soát ưu tiên feed thay vì để Facebook·Google·Apple làm hộ là cách giữ chủ quyền và sự độc lập.
lcamtuf: Điều thú vị nhất không phải là phần mềm, mà là rời khỏi máy tính và làm ra những vật cầm nắm được. Ví dụ như đồng hồ vôn kế và máy tính dùng đồng hồ panel.
Sau hơn 15 năm viết về bảo mật máy tính, tôi thử bắt đầu một blog hoàn toàn không đụng đến công việc, viết về nền tảng của toán học, tạp học thuật toán, điện tử học. Việc ban đầu là thử xem có thể thu hút độc giả ngoài ngành hay không đã biến thành một dạng nghệ thuật trừu tượng trong thời đại LLM.
Thay vì đọc Modernist Bread, tôi đang tự khám phá các bí quyết. Tôi cũng đã gác các dự án phần mềm lại trong 2 năm và tự sửa khoảng 75% hai căn nhà, nhờ đó có được những kỹ năng thực dụng hiếm thấy ở dân kỹ thuật, cũng như sự tôn trọng mới dành cho các nhà thầu biết phản hồi và đến đúng giờ.
op: Toàn bộ pixel art trên https://oppi.li/art được tạo bằng trình biên tập pixel art 1-bit tôi tự viết bằng Rust. Nó tích hợp Lisp cho cấu hình và script; tôi làm chỉ cho bản thân để học các thuật toán raster 2D, và không công khai.
Làm việc không deadline hay mục tiêu cố định khiến nó thú vị hơn nhiều.
ombredog: Đang tập trung tìm hiểu cấu trúc của Servo và fuzzing trong Rust. Cũng đã làm một bản trình diễn đánh tráo con trỏ hàm bằng dyld trên macOS, và dự định công bố mã proof-of-concept cho thấy cách một hàm độc hại được đóng gói và cách tìm nó lúc runtime
Vẫn còn ở giai đoạn đầu và thường bị các fuzzer đã chuẩn bị sẵn như bản build Fuzzilli của Ladybird kéo mất sự chú ý, nhưng nó đã tạo động lực để viết ngôn ngữ hệ thống. Cũng định làm một CLI bằng Zig để tải công cụ và đưa lên noblenote trên Codeberg
luhker: Đã triển khai quá mức tinh vi một sample pad, sequencer và effect chain dựa trên web component để phát các sample mà chắc chẳng ai muốn nghe trên trang của ban nhạc. CSS hơi vỡ một chút, nhưng có thể xem markup effect chain dạng khai báo tại: https://strahlenkeller.de/endlager/
zknd: Đang làm một framework dựa trên sinh mã nhằm cung cấp năng suất ở mức framework trong khi vẫn giữ các idiom của Go. Cảm giác rất thỏa mãn khi thấy nhiều ý tưởng khớp lại thành một phần mềm nhất quán
Cũng đang phát triển firmware cho máy đọc ebook bằng Rust
krig: Đã chuyển Gram từ các crate cocoa/objc bị bỏ sang objc2. Phải đọc rất nhiều tài liệu và thất bại nhiều lần để nắm được mẫu sử dụng của abstraction mới nên mất vài tháng, nhưng như một kết quả phụ, đã hợp nhất các tầng rendering và text trên Mac và Linux bằng wgpu và cosmic-text
Các liên kết liên quan là https://gram-editor.com, https://docs.rs/objc2/latest/objc2/, https://wgpu.rs/, https://github.com/pop-os/cosmic-text
z3bra: Dự án vui nhất là cyber hunt. Đây là một thử thách kiểu truy tìm kho báu, nơi phải giải các vấn đề không bao giờ gặp ngoài đời dưới những ràng buộc kỳ quặc, đồng thời tạo ra nhiều công cụ, cấu hình và mã khác nhau
Bao gồm tính hash Argon2id 5GiB, làm game Game Boy, xử lý tĩnh cookie bảo mật chỉ bằng
relayd(8), proxy VPN dùng phương thức xác thực mới củassh(1), v.v. Đây là dự án lớn nhất, mất 1 năm chuẩn bị; chương đầu có thể trải nghiệm chỉ bằng web trong khoảng 20 phút, sau đó độ khó tăng dầnjbert: Bắt đầu viết một register machine để làm target biên dịch đơn giản, rồi nó trở thành emulator Z80, sau đó phát triển tiếp thành emulator ZX Spectrum. Đã chạy được mã kiểm chứng và nhiều game thập niên 1980; thiết kế đơn giản đến bất ngờ và rất thú vị: GitHub
marx314: Vận hành Pi-hole, Domoticz, Immich self hosted photo gallery, SmokePing, http2sonos, Mealie, WireGuard, Tor, v.v. trên home server Raspberry Pi 4
Cũng có container PHP/nginx cho thiết bị web cũ, Kindle hiển thị thông tin thời tiết và Airthings Wave, iPad đời cũ để xem công thức nấu ăn, SMS cho cảnh báo quan trọng và script Signal cho các thông báo khác. Khi công việc ở công ty trở nên chính trị hóa, đây giống như một việc thiền định để kết nối lại với các vấn đề kỹ thuật
aspizu: Dự án lớn nhất và phổ biến nhất là một ngôn ngữ lập trình biên dịch thành các block Scratch, viết bằng Rust: https://github.com/aspizu/goboscript
Đã phát triển và bảo trì trong nhiều năm, đồng thời chuyển từ Python sang Rust. Nhờ đó có thể tạo các dự án ấn tượng về mặt kỹ thuật trong Scratch, như engine vật lý và ray tracing
jjude: Hầu như side project nào cũng vui, nhưng điều cốt lõi là giữ được đam mê trong bao lâu. Thường thì kết thúc sau khoảng 6 tháng; thứ duy trì lâu nhất là blog không có doanh thu https://jjude.com, và tôi học được rất nhiều khi viết
Năm nay tôi phát triển SophAI https://www.sophai.app/radars trong lúc học cách làm bằng AI. Nó kết nối tài liệu từ nhiều lĩnh vực và tổng hợp thành bài viết; trong quá trình liên tục tinh chỉnh các tính năng nhỏ và nguồn tham khảo, tôi học được các công cụ AI và cách phát triển, đồng thời thỏa mãn sự tò mò
hwj: Đã viết firmware cho đồng hồ đeo tay eZ430 Chronos bằng assembly, và đang phát triển một trình biên dịch Forth bằng OCaml. Thiết kế ngôn ngữ lập trình riêng hiện đang tạm dừng
einacio: Đang viết một SMTP server bằng PHP để thay thế Postfix trên server, và thấy vui vì giao thức này khá dễ tiếp cận. Cũng đang học Twitch bằng cách phát sóng quá trình phát triển, và sau này dự định làm cả bot
spc476: Dùng Lua và LPeg để parse biểu thức, xử lý độ ưu tiên toán tử bằng Shunting Yard algorithm, rồi sinh mã cho CPU 8-bit 6809
Cũng áp dụng một tối ưu hóa đơn giản: nếu cả hai vế của biểu thức đều là literal thì tính ngay trong lúc biên dịch, và dùng cả assembler 6809 tự viết mà tôi đã phát triển vui vẻ trong nhiều năm
heavyrain266: Đang học cách đóng góp cho một dự án mà nhiều người phụ thuộc như compiler Odin. Bắt đầu từ các thay đổi nhỏ như bổ sung tính năng DirectX và hỗ trợ Win32
io_uring, rồi chuyển sang những việc không hào nhoáng như loại bỏ hai target platform không được bảo trì và cải thiện việc dò tìm cài đặt LLVM trên OpenBSDMuốn làm cho việc bảo trì trong 10 năm tới dễ dàng hơn. Ngược lại, trong 8 năm qua, mỗi khi cố đóng góp đáng kể cho toolchain Rust, tôi đều vấp phải các rào cản kiểu doanh nghiệp như RFC, bot phân loại, review, target platform phân cấp và merge conflict thường xuyên
pcaisse: Dự án khiến tôi hài lòng nhất chắc chắn là Bản đồ ngôn ngữ Hoa Kỳ https://languagemap.us/. Tôi đã dành quá nhiều thời gian cho việc làm sạch dữ liệu, script Bash, chỉnh ngoại hình bản đồ và tự động hóa vận hành, nhưng rất hài lòng với kết quả
Hoàn toàn không cần bảo trì và chi phí AWS cũng dưới 1 USD/tháng
LesleyLai: Thứ tôi thích nhất luôn là dự án đang làm hiện tại, và bây giờ là Vulkan renderer. Tôi hướng tới cấu trúc mô-đun để có thể dễ dàng bắt đầu các thử nghiệm đồ họa mới trên cùng một codebase
Jan200101: Khi tạo một chương trình thay thế h5ai đã ngừng bảo trì, tôi cũng học được cách triển khai FastCGI. Đây là công việc vừa thú vị vừa vất vả, đồng thời giúp tôi hiểu sâu cách web vận hành
mariusor: Tôi đã viết audio scrobbler user daemon cho trình phát MPRIS bằng C. Đây là một dự án nhỏ tôi dùng đã lâu, lưu lịch sử phát vào ListenBrainz·Last.fm·Libre.fm
zanlib: Tôi thích việc tái triển khai Lisp, nên đã tạo evalexpr bằng JavaScript, lispex bằng Elixir, và isolisp dựa trên form full-stack JS. Đây là việc đơn giản có thể làm trong một buổi chiều, nhưng mang lại cảm giác thành tựu lớn
shrike: Tôi đã tạo một công cụ tăng cường RSS feed để thêm dữ liệu Open Graph, số lượt đề xuất/bình luận và toàn văn của các bài bị cắt vào những RSS feed kém chất lượng, rồi nhập kết quả vào FreshRSS dưới dạng OPML
Một dự án khác là IRC client tùy biến theo kiến trúc client-server. Phần lớn xử lý do một máy chủ có thẩm quyền duy nhất đảm nhiệm, còn các client web, TUI và SwiftUI kết nối vào đó
pepesza: Việc tự triển khai từ đầu thư viện mật mã đường cong elliptic bằng Erlang rất thú vị. Khi tiếp tục đến KZG commitment, độ phức tạp tăng vọt
banna: Tôi đã tạo một kiến trúc tập lệnh đồ chơi và cũng viết bài liên quan; phần mới nhất nằm ở branch. Tôi đang viết lại một phần C sang Zig và suy nghĩ cách trực quan hóa luồng di chuyển dữ liệu bên trong máy ảo
Với TISC, tôi khám phá chủ nghĩa tối giản cơ học. Tôi cân nhắc mỗi thay đổi sẽ được triển khai thế nào trên máy thật, và bỏ qua nếu có quá nhiều bộ phận chuyển động hoặc nếu nó chỉ đẩy độ phức tạp sang một tầng trừu tượng khác. Hiện tại, điều thú vị nhất là nó gần với một thí nghiệm tư duy hơn là một bản triển khai
ramones: Tôi bắt đầu viết một chess engine nhỏ bằng Rust và thích ở chỗ đi hướng nào cũng có thứ để học. Có vô số lựa chọn như các đặc tả PGN, FEN, thuật toán trên chess engine wiki, và đủ loại cấu trúc dữ liệu như bit flag
icefox: Tôi rất thích quá trình làm trình mô phỏng vật lý n-vật thể bằng raylib rồi chuyển sang thư viện SDL3 GPU. Chẳng mấy chốc trọng tâm đã chuyển từ vật lý sang thử nghiệm graphics engine và shader, nhưng vẫn rất vui
Tôi cũng tình cờ viết fanfic Katalepsis trong một tháng. Không phải lo các yếu tố nhàm chán như bối cảnh và phát triển nhân vật, chỉ cần ném ba nhân vật cùng một ý tưởng tồi vào một căn phòng, việc viết tiểu thuyết lại trở nên vui vẻ
kghose: Công việc trên https://github.com/kghose/moulick là đáng nhớ nhất. Tôi tận hưởng những ràng buộc của lập trình nhúng và niềm vui khi một thiết bị nhỏ có thể cầm trên tay thực sự hoạt động
Dự án trong mơ tiếp theo là một thiết bị LLM nhúng; tôi nghĩ có mấy ai hồi nhỏ lại không từng mơ có robot đồng hành
brn: Những dự án khiến tôi hài lòng nhất là https://bewcloud.com và https://uruky.com, vì gia đình tôi vẫn dùng hằng ngày. Uruky là dự án tương đối gần đây, còn Expenses của bewCloud là phiên bản phát triển của dòng ứng dụng quản lý chi tiêu mà tôi đã làm và công khai từ năm 2008
3digitdev: Tôi đã tạo một công cụ chuyển đổi CLI nhỏ nhận nội dung clipboard rồi làm các việc như định dạng lại JSON, chuyển đổi JSON·TOML·YAML, xóa hiển thị thời gian và emoji khỏi tin nhắn sao chép từ Slack·Discord, chuyển đổi Base64, v.v.
Tôi viết nó vài năm trước, nhưng đến giờ nó vẫn hoạt động trơn tru gần như hằng ngày, nên mỗi lần dùng đều thấy vui. Web app về tương quan hệ type và xây dựng đội hình mà tôi làm khi mê Pokémon Sword/Shield cũng là một dự án thú vị khiến tôi cứ quay lại dùng
fbegyn: Khó chọn một cái, nhưng tôi thích những việc giải quyết vấn đề thực tế. Có in 3D giá đỡ tấm pin mặt trời cho bóng đèn, nấu ăn, làm mộc dù bực vì thiếu không gian,
tc_exporterlà phần mềm duy nhất có người dùng thực sự, và danh sách này vẫn tiếp tục dài thêmmotet-a: Tôi đã tạo một web app để các nhạc công tải lên và chia sẻ bản thu buổi tập. Đây là một dịch vụ ngách gần giống YouTube chỉ dành cho audio và chỉ ở chế độ riêng tư; người dùng chỉ khoảng vài chục người nhưng đang tăng đều