Thay vì tạo một file Excel, nhập tay tất cả hóa đơn công ty trong vòng 1 năm để tính tổng số tiền. Tôi viết 1 chương trình lấy dữ liệu từ Google, Amazon, tự động tạo file Excel và tính tổng các hóa đơn 😎. Và thế là tôi mất một ngày để tạo ra chương trình của mình trong khi chỉ mất một giờ đồng hồ nếu tôi nhập tay các hóa đơn 🫡.

Nhưng nếu … thì sao?

Nếu ai đó hỏi tôi, 1 + 1 mấy? Chúng ta đều biết rằng 1 + 1 = 2, chính xác là như vậy! Nhưng…
Nhưng nếu trong hệ nhị phân thì sao? 1 + 1 thì sẽ bằng 10.
Nếu không phải hệ nhị phân, có khi nó là chuỗi kí tự chứ không phải số thì sao? Vậy 1 + 1 = 11 mới đúng.
Nhưng nếu đây là phép toán mệnh đề thì 1 + 1 = 1, nghĩa là kết luận của 2 mệnh đề đúng sẽ là đúng.
Nhưng nếu xem xét các phép toán trong vật lý, 1 + 1 = 0 nếu là phép tính XOR trong việc xử lý tính hiệu đầu vào.
Yeah, overthinking theo cách của lập trình viên.

Ly cafe mỗi ngày

Mỗi lần tôi uống một ly cafe Highlands mà không đúng vị thường ngày tôi hay uống, tôi bắt đầu cảm thấy không ngon, muốn than phiền và bắt đầu suy nghĩ. Chắc chắn người pha chế hôm nay pha không đúng công thức nên vị nó mới khác hẳn thường ngày. Mỗi ngày mình đều uống ly cafe pha cùng công thức, giống hệt nhau nên khác một xíu là mình nhận ra ngay.
Nhưng có thật là mình uống ly cafe giống y hệt nhau hàng ngày không nhỉ?
Ví dụ họ pha công thức 1/3, 1 sữa và 3 cafe, thì người pha chế chỉ cần bỏ 1 muỗng sữa và 3 muỗng cafe. Nếu họ dùng cùng kích thước của cái muỗng và cái ly hàng ngày, vậy thì rõ ràng là mình đã uống ly cafe giống hệt nhau hàng ngày rồi. Nhưng thật sự không phải vậy!
Xem xét rằng tất cả vật chất đều cấu thành từ hạt rất nhỏ gọi là nguyên tử. Vậy thì một muỗng sữa được cấu thành từ hàng tỉ nguyên tử sữa. Nhưng nếu mất đi hoặc bỏ thêm 1, 2, 100, hay thậm chí là 1000 nguyên tử thì nó vẫn là 1 muỗng sữa, và con người chúng ta không thể nhận biết được sự khác biệt này.
Nếu chỉ xem xét việc gia tăng 1000 nguyên tử, về mặt lý thuyết, chúng ta đã có 1000 ly cafe khác nhau cho dù người pha chế đã pha kĩ lưỡng cùng công thức. Xem xét tiếp đến 3 muỗng cafe, ta đã có thể có khoảng 1000 x 1000 x 1000 ly cafe khác nhau.
Vậy theo lí thuyết xác suất để chúng ta uống ly cafe giống hệt nhau là rất thấp, và gần như là không thể. Chúng ta gần như uống ly cafe có vị khác nhau mỗi ngày, nhưng chúng ta chỉ nhận ra khi sự khác biệt đủ lớn.
Hả, mình đang nghĩ cái quái gì vậy???

Nếu tôi mở một nhà hàng

Người yêu tôi trìu mến nhìn tôi và hỏi: “Nếu mình mở một nhà hàng thì sao anh nhỉ?”. Tôi suy nghĩ một hồi và trả lời:
Trong căn bếp của bất kì một nhà hàng nào, người đầu bếp luôn là linh hồn của nhà hàng. Họ quyết định mùi vị, định lượng, cách chế biến và trình bày món ăn.
Hãy tưởng tượng mình xây một căn bếp quá rộng lớn, nhưng chỉ có một đầu bếp, thì người đầu bếp này phải di chuyển rất nhiều, tốn thời gian của họ. Nhưng nếu mình xây dựng một căn bếp nhỏ, nhưng lại có nhiều đầu bếp, thì lúc này các đầu bếp không thể hoạt động hết công suất của họ vì không gian bếp quá nhỏ. Rõ ràng, tối ưu nhất là mình phải cân bằng giữa không gian bếp và số lượng đầu bếp.
Trong quá trình nấu ăn, đôi khi đầu bếp phải làm các công việc như đánh trứng. Việc này không khó nhưng lại tốn thời gian và sức lực của người đầu bếp. Thế thì mình sẽ trang bị cho căn bếp máy đánh trứng, nó sẽ giúp người đầu bếp tiết kiệm thời gian và công sức.
Tất cả nguyên liệu của nhà hàng cần được bảo quản, thậm chí là phải động lạnh để giữ nguyên liệu còn có thể sử dụng. Vì vậy mình cần trang bị tủ lạnh để bảo quản nguyên liệu, và khi cần đầu bếp sẽ lấy nguyên liệu từ tủ lạnh.
Để có thể ghi nhận món ăn được order từ khách hàng, hoặc thông báo với người phục vụ món ăn đã sẵn sàng, mình sẽ trang bị cho người đầu bếp một bộ đàm để tiện giao tiếp.
Máy tính hoạt động hệt như một căn bếp!
Người đầu bếp chính là CPU của máy tính, quyết định các phép tính cho máy tính.
Không gian bếp là RAM của máy tính, số RAM càng nhiều thì sẽ càng nhiều không gian cho CPU hoạt động tính toán.
Tủ lạnh là ổ cứng của máy tính, nơi lưu trữ dữ liệu, và CPU sẽ truy cập vào ổ cứng khi cần lấy dữ liệu.
Máy đánh trứng chính là card màn hình (GPU), thiết bị giúp CPU tính toán các phép tính thiên về đồ họa.
Bộ đàm là card mạng của máy tính, giúp máy tính kết nổi và truyền dữ liệu đến các máy tính khác, ra ngoài internet.
Cô ấy nhìn tôi và nói: “Anh chỉ cần nói để em làm chủ là được rồi!”.
Vâng, lập trình viên hiểu máy tính hơn cả người yêu mình!