1 điểm bởi GN⁺ 2024-06-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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ỏ
  • 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

 
GN⁺ 2024-06-02
Ý 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

    • Ở đây có vẻ có nhiều phản ứng thù địch với triết học, nhưng đây chỉ trở thành nghịch lý khi xem ngôn ngữ như một phương tiện mô tả một trạng thái thực tại tĩnh nào đó của thế giới
      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
    • Việc không phân biệt được “tôi” là con người với giọng nói được ghi âm của người đó không biến nó thành một vấn đề triết học. Nó gần như chỉ là sự ngớ ngẩn thuần túy
    • Hoàn toàn lạc đề, nhưng nó làm tôi nhớ đến bộ phim Mexico I Am No Longer Here mà tôi xem gần đây. Trước đó tôi chưa từng nghe đến tác phẩm này, nhưng nó hay đến bất ngờ
      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

    • Cũng như race condition, việc làm thứ gì đó nhanh hơn không thay đổi tình huống, mà chỉ phơi bày vấn đề vốn có. Vấn đề vốn có ở đây là định nghĩa về sự tồn tại của thông điệp quá lỏng lẻo
      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
    • Điều đó từng có thể xảy ra trong thời hoàng kim của máy tính cá nhân, hoặc với một Linux được tinh chỉnh tốt. Nhưng hệ điều hành hiện đại bóp méo cả bản chất của thực tại để khởi động lại nhằm cài bản cập nhật, bắt bạn đổi mật khẩu dù nó mới quá hạn 120 giây, hoặc đăng xuất vì lý do bảo mật chỉ vì bạn không di chuyển chuột. Tốt nhất là nên lưu thông điệp đó nhanh lên
  • 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ủ.”

    • Nói chung, có thể xem bản thân “không tồn tại” cũng không tồn tại
      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
    • Đây đúng là cách diễn đạt nghe tỉnh táo và logic nhất, nhưng nó làm mất đi sự mơ hồ triết học của thông báo gốc. Dù vậy tôi vẫn thích cách diễn đạt ban đầu hơn
    • Tất nhiên là có thể đọc cả thông điệp không tồn tại. Ví dụ như thông điệp do AI ảo giác tạo ra, ảnh chụp màn hình bị ai đó chỉnh bằng Photoshop, hoặc trường hợp đã sao chép vào tài liệu văn bản trước khi xóa thông điệp
  • 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”

    • Rốt cuộc nó cho thấy thói quen xấu dùng thuật ngữ không chính xác có thể dẫn đến sự hỗn loạn hoàn toàn
  • 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

    • Tác giả cũng đề cập phần này. Họ gọi là nội dung thay vì “văn bản”, nhưng là cùng một ý
      Đạ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ó
    • Việc văn bản của thông điệp có thể tồn tại dù không phải chính bản thân thông điệp vẫn khá thú vị. Trong một ngữ cảnh cụ thể của Outlook thì điều đó hợp lý, nhưng nó cho thấy thiết kế khái niệm của phần mềm không khớp với cách chúng ta suy nghĩ trừu tượng về miền vấn đề
    • Câu “thông điệp không giống với văn bản” có phải giống như những người mà thân xác đã biến mất nhưng linh hồn vẫn còn không? Tôi thấy những thông điệp đã chết…
      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”
    • Đây không phải là một thông điệp?
    • Nếu thông điệp chưa có được một hình thái vật lý như bản in, thì thông điệp có tồn tại không?
      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.

    • Thử thế này thì sao: “Tin nhắn này đã bị xóa khỏi máy chủ thư, nhưng Outlook vẫn đang giữ nó trong bộ nhớ đệm tạm thời trên thiết bị này. Bạn có thể sao chép nội dung tin nhắn hoặc loại bỏ nó khỏi bộ nhớ đệm; sau khi loại bỏ, tin nhắn sẽ bị xóa vĩnh viễn.”
    • Trong luồng này có vài câu chữ UX hay, nhưng với ứng dụng này thì tốt hơn là đừng cố giải thích cơ chế kỹ thuật bên trong, mà nên diễn đạt theo hướng tập trung vào kết quả
      “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.”
    • Giải thích chuyện gì đã xảy ra cũng không giúp ích cho người dùng. Chỉ cần giải thích các lựa chọn mà người dùng có thể chọn là đủ
      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ỏ.”
    • Có thể trình bày dưới dạng câu hỏi cho người dùng thay vì thông báo lỗi: “Tin nhắn này đã bị xóa khỏi máy chủ. Bạn muốn làm gì? Loại bỏ vĩnh viễn, lưu phiên bản này lên máy chủ, lưu thành tệp trên máy tính.”
    • Phần lớn ứng dụng dường như bắt đầu liệt kê các trường hợp có thể xảy ra vi phạm tính nhất quán rồi cuối cùng bỏ cuộc. Trước đây tôi từng cố làm cho “đúng”, nhưng thất bại, và nhận ra chuyện này thật sự rất khó.
  • 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.

    • SharePoint được nói là một trong những trụ cột cốt lõi của Microsoft, vậy mà câu trả lời cho “Làm sao tìm tất cả các site SharePoint mà tôi là thành viên?” lại là thế này
      Hãy tìm kiếm SharePoint bằng contentclass:STS_Site
      Tô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.
    • Chỉ là tạm thời cho đến khi ai đó đổi nó thành “Something went wrong”.
    • Nếu muốn Microsoft hơn nữa thì chẳng phải thông báo nên nói rằng sản phẩm cạnh tranh không tồn tại sao?
      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”.
    • Tin nhắn này sẽ tự xóa sau đó. Nếu muốn lưu trữ, hãy lưu nội dung.
    • Tác vụ đã thất bại thành công!