Dịch vụ lưu trữ, chia sẻ code GitHub có tới 35 triệu dự án mã nguồn mở. Rất nhiều trong số đó là các gói sản phẩm phức tạp được cộng đồng lập trình viên và các doanh nghiệp trên thế giới tin dùng. Một số khác lại là các thư viện có mục đích đơn giản, dễ hiểu để tiết kiệm thời gian cho các coder khác. Một số đơn giản chỉ là những trò đùa.
Những câu đùa dựa trên các dòng code có lẽ sẽ là quá khô khan với phần đông độc giả công nghệ. Đừng lo lắng, chúng tôi sẽ giải thích cho bạn về một số dự án (project) vui nhộn nhất trên GitHub.
1. TrumpScript: Một ngôn ngữ lập trình dựa trên tấm gương Donald Trump
Đây là tác phẩm do 4 sinh viên Đại học Rice tạo ra trong một cuộc thi hack. Theo mô tả, các tác giả của TrumpScript "phát hiện ra rằng không có ngôn ngữ nào trong số các ngôn ngữ lập trình hiện tại sẽ nhận được sự tán thưởng từ mái tóc vàng của Trump".
Với khoảng 1000 dòng code, TrumpScript là một "giả ngôn ngữ" với tính năng khá hạn chế dù vẫn có thể được sử dụng để làm một số tác vụ cơ bản. Sau đây là một số tính năng của TrumpScript:
- TrumpScript chỉ cho phép sử dụng các con số lớn hơn 1 triệu, vì "các thứ nhỏ nhặt không có giá trị". Khi sử dụng các con số giá trị dưới 1 triệu, coder sẽ nhận được thông báo lỗi có nội dung là một tuyên bố nổi tiếng từ ngài Trump: "Tôi rất giàu. Một phần vẻ đẹp của tôi là tôi rất giàu".
- TrumpScript không cho phép sử dụng phân số hoặc số thập phân mà chỉ chấp nhận các số nguyên, vì "Nước Mỹ sẽ không bao giờ làm thứ gì đó nửa chừng".
- Khi chạy trên TrumpScript, bạn sẽ nhận được một thông báo lỗi khác từ ngài Trump: "Windows? Vấn đề lớn nhất của đất nước này là PC".
- Tất cả mọi ứng dụng viết bằng TrumpScript phải kết thúc bằng câu "Nước Mỹ thật vĩ đại".
Dĩ nhiên là với các tính năng này, TrumpScript sẽ là một ngôn ngữ gần như vô dụng. Trong phần lớn các trường hợp TrumpScript cũng không hiện thông báo lỗi, vì theo các tác giả, "Trump không thích nói về thất bại của mình".
2. Is-thirteen: Kiểm tra xem một số nào đó có phải là 13 hay không
Bạn có thể kiểm tra xem một số nào đó có phải là số 13 hay không bằng cách viết ra những đoạn code tương tự như dưới đây:
if (someNumber == 13)
// true
else
// false
Kể cả bạn không biết gì về code thì bạn vẫn có thể hiểu được 4 dòng code quá ư đơn giản này. Đó chính là trò đùa thâm sâu của các tác giả is-thirteen: gói phần mềm này mất tới hàng trăm dòng code chỉ để thực hiện tác vụ của 4 dòng code vô dụng. is-thirteen cũng có tới 92 người tham gia và thậm chí có cả chính sách chỉnh sửa/đóng góp code.
Is-thirteen được tạo ra để mỉa mai các gói phần mềm có công dụng quá đơn giản và thừa thãi. Ví dụ, một project trong đời thực sẽ kiểm tra xem liệu một số có lớn hơn 0 hay không. Triết lý chế tạo các gói phần mềm quá vụn vặt, có tính năng quá giới hạn như thế này đã từng bị chỉ trích kịch liệt vào năm ngoái, khi một hacker mũ trắng xóa đi 11 dòng code được anh này đóng góp cho javaScript.
Các lập trình viên khác cũng hưởng ứng trò đùa này rất tích cực. Trên GitHub, is-thirteen có hẳn một mục thảo luận với những đầu mục như:
- Thêm tính năng hỗ trợ XIII
- Bỏ hỗ trợ cho Thứ sáu Ngày 13
- Thêm tính năng hỗ trợ bộ phim "Thirteen".
- Thành lập Ủy ban Chiến lược Công nghệ.
- Hỗ trợ máy học.
Nếu bạn muốn sử dụng (và phụ thuộc) vào các gói mã nguồn như is-thirteen, hãy lưu ý tới cảnh báo của các tác giả: "Hãy đọc mã nguồn vì chúng tôi thay đổi rất nhanh và làm hỏng nhiều thứ".
3. ComcastifyJS: Giảm tốc độ tải ảnh
Bất bình trước chất lượng dịch vụ và chăm sóc khách hàng ngày càng đi xuống của nhà mạng ComCast, các lập trình viên làm việc cho tờ báo biếm họa The Onion đã tạo ra giải pháp ComcastifyJS để giải quyết vấn đề "Đôi khi ảnh web load quá nhanh".
"Với tất cả những cái thứ Internet này, đôi khi bạn muốn tận hưởng cảm giác giật gân của những trang web ì ạch. Hãy cho phép người dùng của bạn được tận hưởng một phần của tương lai bằng cách tải trang web thật chậm nhờ có ComcastifyJS".
Trang demo của ComcastifyJS sẽ trình bày tính năng đã quá quen thuộc với người dùng Comcast: ảnh tải siêu chậm. Một lập trình viên vui tính đề xuất Comcastify tạo ra một gói dịch vụ trả phí cao cấp để người dùng có thể tận hưởng trải nghiệm tải ảnh... chậm hơn nữa. Một người khác biến Comcastify thành extension cho Chrome.
Nếu có thời gian, bạn có thể ghé qua trang GitHub của The Onion để tìm hiểu thêm về các project buồn cười khác như fartscroll.js, một plugin web có khả năng tạo ra tiếng "xì hơi" mỗi lần bạn cuộn trang trên web.
4. Thay thế Lorem Ipsum bằng lyrics của Justin Bieber.
Dù có code hay không thì chắc hẳn bạn cũng đã từng nhìn thấy cụm "Lorem Ipsum" khi đi tìm biểu mẫu web, blog hay Word, Excel, PowerPoint. "Lorem Ipsum" thực chất là một đoạn triết học khó hiểu viết bằng tiếng Latin được sử dụng trong nhiều thế kỷ, giúp cho các nhà thiết kế có thể tạo biểu mẫu dàn chữ mà không cần lo lắng người dùng sẽ bị phân tâm như khi đọc nội dung có nghĩa.
Nhưng tại sao lại trình diễn giao diện tuyệt đẹp của bạn bằng một cụm chữ Latin cổ. Trong mục awesome-ipsum trên GitHub, bạn có thể sử dụng rất nhiều cụm từ (có vẻ) vô nghĩa khác thay thế, ví dụ như:
- Pasta Ipsum: Bao gồm rất nhiều loại Mỳ Ý khác nhau. Có tùy chọn thêm từ... chửi thề một cách ngẫu nhiên.
- Hipster Ipsum: Thêm vào những từ ưa thích của giới hipster.
- Corporate Ipsum: Thêm vào những cụm từ "đao to búa lớn" của giới lãnh đạo doanh nghiệp.
- Justin Bieber Ipsum: Thêm vào những câu nói kinh điển từ Justin Bieber.
5. Những thư viện JavaScript hoàn toàn vô dụng
Chịu trách nhiệm quản lý các tác vụ "động" (ví dụ như tải thêm các câu status cũ khi bạn cuộn tới cuối trang Facebook thay vì tải lại toàn bộ), JavaScript là một trong 3 phần quan trọng nhất của trải nghiệm web. Và cũng giống như các ngôn ngữ lập trình khác, JavaScript sở hữu nhiều thư viện để mỗi lập trình viên có thể tái sử dụng các tính năng đã được một lập trình viên khác tạo ra.
Nhưng vấn đề với các thư viện code là ở chỗ đôi khi chúng không nên tồn tại: rất nhiều người đã và đang tạo ra những thư viện nhằm cung cấp các tính năng đã có sẵn từ các bộ thư viện tiêu chuẩn. Để mỉa mai tình trạng này, một số coder đã tạo ra các thư viện JS vui nhộn như:
- vapor.js: thư viện không có một dòng code nào, được mô tả là "Thư viện JavaScript Nhỏ nhất và Nhanh nhất".
- semicolon.js: "Phiên bản an toàn và ổn định hơn của vapor.js". Nội dung của semicolon.js là một dấu chấm phẩy (ký tự dùng để kết thúc câu lệnh).
- vanilla.js: biên dịch JavaScript thành... JavaScript. Thư viện vô dụng tuyệt đối này đã từng khiến một lập trình viên kém may mắn mắc lừa và lên Stack Overflow đặt câu hỏi: "Tại sao vanilla.js lại được coi là một framework?"
Lê Hoàng
(theo GenK)
Khối Giáo dục FPT – fpt.edu.vn
Trường Đào Tạo Lập Trình Viên Quốc Tế – aptech.fpt.edu.vn
Tin liên quan:
|