Thông điệp không tồn tại
(kmjn.org)- Thông báo trong giao diện web Outlook 365 tạo ra một tình huống có vẻ mâu thuẫn khi nói rằng không thể lưu một thông điệp không còn tồn tại nữa, nhưng có thể vứt bỏ nó
- Thông báo vừa chỉ đối tượng bằng “this message”, vừa nói rằng đối tượng đó không tồn tại, làm lộ ra vấn đề tham chiếu đến một đối tượng không tồn tại
- Việc lưu được xem là thao tác chỉ có thể thực hiện khi thông điệp tồn tại, nhưng việc vứt bỏ lại được xử lý như một thao tác có thể áp dụng cả với thông điệp vốn đã không tồn tại
- Cụm từ “hãy sao chép nội dung trước khi vứt bỏ” dẫn đến cách hiểu rằng ngay cả thông điệp không tồn tại cũng vẫn còn nội dung có thể sao chép
- Dù việc vứt bỏ có thể là thao tác không làm gì (no-op) đối với bản thân thông điệp, nó vẫn có thể ảnh hưởng đến sự tồn tại của nội dung hoặc khả năng truy cập nội dung đó
Chỉ dẫn mâu thuẫn trong thông báo của Outlook 365
- Trong giao diện web Microsoft Outlook 365, thông báo sau được hiển thị
- “This message can't be saved because it no longer exists.”
- “It can only be discarded.”
- “Make sure you copy the contents of the message before you discard if you want to use them later.”
- Thông báo cho biết rằng vì thông điệp không còn tồn tại nên không thể lưu, chỉ có thể vứt bỏ, và nếu muốn dùng về sau thì hãy sao chép nội dung trước khi vứt bỏ
Cách chỉ định “thông điệp này” và việc không tồn tại
- “This message can't be saved because it no longer exists” có thể được hiểu là chỉ những thông điệp tồn tại mới có thể được lưu, còn thông điệp không tồn tại thì không thể lưu
- Vấn đề nảy sinh từ từ chỉ định “this”
- Thông báo vừa chỉ đến thông điệp này, vừa nói rằng thông điệp đó không tồn tại
- Từ đó kéo theo câu hỏi liệu một đối tượng không tồn tại có thể được chỉ định hay không
Đối tượng không thể lưu nhưng có thể vứt bỏ
- “It can only be discarded” không chỉ đơn thuần nhắc đến một thông điệp không tồn tại, mà còn xử lý nó như một đối tượng có thể bị vứt bỏ
- Việc lưu đòi hỏi thông điệp phải tồn tại, nhưng việc vứt bỏ lại có vẻ là thao tác có thể thực hiện mà không có ràng buộc như vậy
- Nếu xem việc vứt bỏ là “hành động khiến một đối tượng không còn tồn tại nữa”, thì áp dụng nó cho một đối tượng vốn đã không tồn tại có thể được hiểu là thao tác không làm gì (no-op)
- Theo cách hiểu này, các thao tác khác như lưu chỉ có thể thực hiện khi đối tượng tồn tại, còn vứt bỏ thì có thể áp dụng cả với đối tượng đã không tồn tại
Nội dung của thông điệp không tồn tại
- Câu “hãy sao chép nội dung thông điệp trước khi vứt bỏ” khiến cách hiểu nói trên trở nên phức tạp hơn
- Có vẻ như ngay cả thông điệp không tồn tại cũng có nội dung, và nội dung đó có thể được sao chép khi thông điệp vẫn chưa bị vứt bỏ
- Vì vậy, một thông điệp không tồn tại nhưng chưa bị vứt bỏ và một thông điệp không tồn tại và đã bị vứt bỏ sẽ khác nhau về khả năng truy cập nội dung
- Dù việc vứt bỏ có thể là thao tác không làm gì đối với trạng thái tồn tại của thông điệp, xét từ phương diện nội dung, nó có thể không phải là thao tác không làm gì
Hai cách hiểu khả dĩ
- Hành động vứt bỏ một thông điệp không tồn tại có thể được hiểu theo hai cách
- Khiến cả nội dung thông điệp cũng không còn tồn tại
- Duy trì sự tồn tại của nội dung, nhưng khiến không thể gọi thao tác sao chép đối với nội dung đó
- Trong trường hợp thứ hai, thông điệp vốn đã không tồn tại và nội dung vẫn tiếp tục tồn tại, nhưng sau khi bị vứt bỏ thì không thể truy cập hoặc sao chép nội dung đó
- Thông báo này cho thấy một tình huống trong đó điều kiện tồn tại giữa thông điệp, nội dung, việc lưu, việc vứt bỏ và khả năng sao chép có vẻ không nhất quán
1 bình luận
Ý kiến trên Hacker News
Cái này có vẻ là một ví dụ của nghịch lý máy trả lời tự động mà các triết gia đã viết về từ thập niên 1970
https://philpapers.org/rec/SIDTAM
Theo ngữ nghĩa học trực giác về “tôi”, “ở đây”, “bây giờ”, phát ngôn “Tôi không ở đây bây giờ” lẽ ra phải luôn sai khi được nói ra, nhưng câu “Tôi không ở đây bây giờ” được ghi âm trên máy trả lời tự động lại có vẻ đúng khi người nói không có ở nhà
Nếu quan tâm, hãy tìm “answering machine paradox” để xem thêm nhiều thảo luận
Nếu xem ngôn ngữ là thứ mang tính thực dụng và định hướng hành động, thì câu đó cần truyền đạt điều gì là rõ ràng, nên không phải nghịch lý. Có người cho rằng đằng sau các từ ngữ thực sự tồn tại một ý nghĩa tĩnh đi vào ý thức của người nghe, còn phía khác cho rằng ý nghĩa được tạo ra bởi người nghe
Đây là một câu hỏi rất triết học, vẫn được tranh luận gay gắt cả sau Wittgenstein, và những điều được xem là hiển nhiên trong mọi lĩnh vực cũng có thể trở thành đối tượng của suy tư duy lý. Dường như nhiều kỹ sư, trong một thế giới quan quá đơn giản, quên mất rằng chẳng có gì là rõ ràng và cũng không có tri thức tuyệt đối
https://en.wikipedia.org/wiki/I%27m_No_Longer_Here
Máy tính có thể dừng thời gian, vì nó không bắt buộc phải thực thi lệnh. Theo một nghĩa nào đó, trường hợp này cho thấy điều đó
Hãy nghĩ đến một thông điệp vật lý viết trên tờ giấy đang cháy: chữ vẫn còn nhìn thấy, nhưng có thể đã quá muộn để dập lửa
Nếu trí nhớ tốt, bạn có thể ẩn dụ mà nói là dừng khoảnh khắc đó lại để học thuộc nội dung trên giấy. Trên máy tính, thông điệp đã “cháy rụi” trên máy chủ, nhưng khoảnh khắc đang đứng yên trước mắt có thể được kéo dài vô thời hạn
Nếu có thể nhìn thấy thông điệp trên tờ giấy đang cháy, thì phải xem thông điệp đó vẫn còn tồn tại. Cũng giống như một thông điệp gửi bằng tín hiệu khói không biến mất ngay khoảnh khắc nó được mang trong làn khói
Muốn sửa thì đừng nói thông điệp tồn tại/không tồn tại, mà hãy nói nó được lưu ở X nào đó hoặc đã bị xóa khỏi X
Vấn đề là thông điệp không nói sự thật. Nếu có thể đọc thông điệp thì rõ ràng nó phải tồn tại. Chẳng phải không thể đọc một thông điệp không tồn tại sao? Ai làm được điều đó? Có ai ở đây đọc được thông điệp không tồn tại không?
Lẽ ra thông điệp phải nói: “Thông điệp này không được lưu trên máy chủ. Nếu bạn không sao chép và lưu văn bản trước khi đóng cửa sổ này, bạn sẽ không thể lấy lại nó từ máy chủ.”
Tôi nhớ đến một bài TEDx nói rằng vũ trụ không tồn tại vì nó là mọi thứ. Đại loại là nếu lập danh sách mọi thứ, thì chính danh sách đó sẽ không được bao gồm như một mục trong danh sách
Thông điệp này đại khái có nghĩa là: “Tôi đã mở tệp, nhưng giờ tệp đó không còn tồn tại trên đĩa nữa nên không thể cập nhật các thay đổi vào đó. Bạn có thể bỏ bản sao đã tải, nhưng trước hết hãy cân nhắc sao chép nội dung để tạo một tệp mới. Vì lý do kỹ thuật, tôi không thể tự làm việc đó cho bạn.”
Phần giải thích thật sự rất xuất sắc
Nếu đoán chuyện gì đã xảy ra, có vẻ nó đang chỉ đến thông điệp gốc trên máy chủ và bản sao cục bộ. Cả hai đều được gọi là “thông điệp”
Cuối cùng cũng đến lúc dùng đến tấm bằng triết học của tôi
Lỗi nói rằng “thông điệp” không tồn tại, nhưng thông điệp không giống với văn bản. Thông điệp là một đối tượng có thể lưu hoặc loại bỏ, và bên trong nó có văn bản
Văn bản vẫn tồn tại nên có thể sao chép, nhưng thông điệp đã biến mất nên không thể lưu nữa
Đại loại là “một thông điệp không tồn tại có nội dung có thể sao chép, nhưng chỉ khi thông điệp đó chưa bị loại bỏ”
Thông điệp đã biến mất và không thể lưu được nữa, nhưng vẫn có thể bị loại bỏ. Có lẽ cũng có thể không loại bỏ nó
Sự phân biệt đó có thể có giá trị và về mặt kỹ thuật cũng đúng. Nhưng vấn đề thật sự nằm ở chỗ “thông điệp không giống với thông điệp”. Nếu nó chỉ đến một thông điệp duy nhất thì đã là một vấn đề triết học tuyệt vời, nhưng thực tế có vẻ gần với một vấn đề tẻ nhạt hơn: trong hai thông điệp có văn bản khác nhau, văn bản của một bên tình cờ gọi bên kia là “cái này”
Nếu thông điệp ngừng tồn tại mà không có ai ở đó, thì thùng rác có phát ra tiếng không?
Mọi người nhìn cái này rồi cười khúc khích và bàn chuyện triết học, nhưng thật ra ở đây vẫn có một ý hợp lý, dù là nói vòng. Làm sao giải thích cho người dùng không rành kỹ thuật rằng dữ liệu trên máy chủ đã bị xóa, nhưng ở phía client vẫn còn bản sao được cache nên bằng cách nào đó vẫn có thể khôi phục? Đây là một vấn đề khá khó, đáng để suy nghĩ nghiêm túc.
“Tin nhắn này đã bị xóa, nhưng bạn vẫn còn một bản sao tạm thời. Nếu có nội dung cần giữ lại, hãy lưu trước khi loại bỏ bản sao tạm thời.”
Cỡ như: “Rất tiếc, không thể lưu tin nhắn này được nữa. Nếu sau này bạn cần truy cập lại, hãy sao chép tin nhắn này trước khi loại bỏ.”
Chỉ cần thêm trên máy chủ vào câu là sửa được
Nói “Không thể lưu tin nhắn này vì nó không còn tồn tại trên máy chủ nữa” là giải quyết xong.
Tin nhắn này là chất keo kết nối thực tại và phi thực tại. Nó tồn tại, đã từng tồn tại, chưa từng tồn tại, và tất cả những điều đó đồng thời đều đúng
Đó là nghịch lý của sáng tạo và tồn tại, tan rã và ý thức.
Đây là thông báo lỗi đậm chất Microsoft nhất mà tôi từng thấy.
Hãy tìm kiếm SharePoint bằng
contentclass:STS_SiteTôi không hiểu sao chuyện này có thể xảy ra, và làm sao những việc như bài gốc lại có thể lọt vào môi trường vận hành.
Tôi từng thấy trên Firefox và Safari, một số tính năng của Teams báo là không tồn tại rồi bảo “hãy tải ứng dụng Teams native”.