2 điểm bởi GN⁺ 2025-11-05 | 1 bình luận | Chia sẻ qua WhatsApp
  • Mỗi lần tìm vé máy bay giá rẻ, người ta phải trải qua một quy trình phức tạp, đồng thời kiểm tra nhiều quy định như visa, hộ chiếu, yêu cầu cư trú thuế
  • Hệ thống nhập cư và thuế của mỗi quốc gia tính ‘ngày lưu trú’ theo các tiêu chí khác nhau, gây ra sự nhầm lẫn
  • Để giải quyết việc này, tác giả đã phát triển ứng dụng ‘Residency’ kiểm chứng lịch sử di chuyển và quy định như một trình biên dịch
  • Ứng dụng tính toán cục bộ và tự động kiểm tra hộ chiếu hết hạn, visa, IDP, yêu cầu cư trú thuế
  • Nó hoạt động như một công cụ giúp quản lý nhất quán lịch sử di chuyển cá nhân và các quy tắc hành chính, từ đó nhận biết trước rủi ro trước khi qua biên giới

20 phút trước khi mua vé máy bay

  • Khi tác giả phát hiện vé siêu rẻ đi Iceland, anh ấy phải ngay lập tức kiểm tra visa, hộ chiếu, bằng lái xe, yêu cầu cư trú thuế
    • Quá trình này mất khoảng 20 phút, và không chỉ là so giá vé đơn thuần mà là thủ tục rà soát đồng thời nhiều điều kiện hành chính
  • Trong 10 năm qua, anh ấy đã xử lý nhiều hồ sơ xin visa và quốc tịch khác nhau dựa trên một bảng tính ghi lại lịch sử du lịch
  • Nhưng nhận thấy cách này kém hiệu quả, anh ấy bắt đầu hình dung một hệ thống có thể tự động trả lời câu hỏi “Chuyến đi này có gây ra vấn đề không?

‘Trạng thái (State)’ mà hệ thống không cho bạn biết

  • Schengen, Anh, cư trú thuế, thời hạn hiệu lực hộ chiếu đều đánh giá trạng thái cá nhân theo các tiêu chí khác nhau
    • Schengen dùng quy tắc 90/180 ngày, Anh dùng số lần bước qua nửa đêm theo năm thuế, còn hộ chiếu dựa trên thời hạn hiệu lực và số trang trống
  • Những thông tin này không được hiển thị trực tiếp cho người dùng, mà chỉ nhân viên kiểm soát biên giới mới có thể truy cập
  • Tác giả định nghĩa đây là “bài toán parse State” — phải đồng thời diễn giải góc nhìn của chính phủ và trạng thái của hệ thống

Các trường hợp ngoại lệ trong hành chính

  • Khi nộp đơn xin quốc tịch Anh, phải chứng minh rằng vào đúng ngày tương ứng của 5 năm trước tính từ ngày nộp đơn, đương sự đã ở Anh
    • Chỉ cần sai lệch một ngày là có thể phải chờ hàng tháng rồi bị từ chối hồ sơ và phát sinh chi phí nộp lại
  • Khi quá cảnh ở sân bay Anh, chỉ khi thực hiện một hoạt động không liên quan trực tiếp đến chuyến đi (ví dụ: mua đồ ăn nhẹ, xem biểu diễn) thì mới được tính là ‘lưu trú’
  • Việc Morocco đổi múi giờ trong tháng Ramadan (UTC↔UTC+1) có thể làm thay đổi cách tính ngày lưu trú
  • Các quy định này nằm rải rác trên nhiều website chính phủ và tài liệu PDF, nên người dùng phải tự mình diễn giải

Mô phỏng chuyến đi như một ‘cảnh báo từ trình biên dịch’

  • Tác giả đưa ra khái niệm linter để kiểm tra kế hoạch di chuyển từ góc nhìn “có biên dịch được không?
  • Với lộ trình ví dụ (DUB→EWR→MEX→LHR→TFS), anh ấy so sánh sự khác biệt trong cách tính ngày lưu trú của từng nước
    • Ireland 0 ngày, Mỹ 0 ngày, Mexico 2 ngày, Anh 0~1 ngày, Schengen 1 ngày
  • Mỗi kết quả có thể thay đổi tùy theo phiên bản cơ sở dữ liệu múi giờ, nên cần cố định phiên bản và tính lại khi có thay đổi
  • Mục tiêu là xây dựng một hệ thống xác minh tự động có cùng tiêu chí phán đoán với nhân viên kiểm soát biên giới

Cấu trúc và tính năng của ứng dụng Residency

  • Ứng dụng mô phỏng theo nhiều cách câu hỏi “nếu làm hành động này thì điều gì sẽ xảy ra?
    • Ví dụ: khi đặt một chuyến đi Alps, nó kiểm tra có vượt quá số ngày lưu trú Schengen hay không, hoặc việc rời đi trước khi năm thuế kết thúc sẽ ảnh hưởng thế nào
  • Quy tắc của từng quốc gia được lưu dưới dạng blob dữ liệu diễn giải có quản lý phiên bản, để vẫn giữ được hồ sơ cũ khi quy định thay đổi
  • Hiệu lực của hộ chiếu, visa, IDP cũng được xử lý như một state machine
    • Ví dụ: khi quá cảnh ở Dubai, ứng dụng tự động phát hiện trường hợp “còn hiệu lực lúc đến” nhưng “không còn hiệu lực lúc khởi hành”
  • Người dùng có thể tự đặt mục tiêu (ví dụ: giới hạn số ngày lưu trú tại một quốc gia cụ thể), và ứng dụng sẽ đưa ra cảnh báo dựa trên đó

Thiết kế ưu tiên cục bộ và bảo vệ quyền riêng tư

  • Mọi phép tính đều được thực hiện ngay trên thiết bị, và vẫn hoạt động cả khi không có kết nối mạng
    • Loại bỏ giao tiếp với máy chủ để tránh các vấn đề về tốc độ, quyền riêng tư và trách nhiệm pháp lý
  • Không hỗ trợ đồng bộ đám mây, thay vào đó có thể xuất trực tiếp ra tệp
  • Ban đầu ứng dụng chỉ hỗ trợ tính số ngày Schengen, nhưng về sau đã bổ sung quy tắc thuế của Anh, hết hạn giấy tờ, tính năng mô phỏng
  • Lý do công khai ứng dụng là vì tác giả muốn những người khác cũng giảm được 20 phút bất định tương tự

Kết quả sử dụng thực tế và kết luận

  • Trước khi mua vé đi Iceland, ứng dụng đã tính chính xác các thông tin như không cần IDP, còn dư 34 ngày Schengen, thời điểm kết thúc cư trú thuế
  • Khi nhập cảnh thực tế, đánh giá của nhân viên tại sân bay Keflavík trùng khớp với kết quả của ứng dụng
  • Ứng dụng có tên Residency, dành cho iOS và mua một lần, không cần đăng ký thuê bao
  • Kết luận lại, thông điệp của bài viết là: “Không thể gọi biên giới bằng cURL, nhưng bạn có thể theo dõi trạng thái của chính mình để nhận được cùng một câu trả lời như chính phủ

1 bình luận

 
GN⁺ 2025-11-05
Ý kiến Hacker News
  • Tôi không biết rằng người không phải công dân EU lại cần thủ tục phức tạp đến vậy để đi lại
    Quy định khi xin quốc tịch Anh phải chứng minh rằng vào đúng ngày cách ngày nộp đơn chính xác 5 năm, bạn thực sự có mặt ở Anh nghe thật nực cười
    Chỉ cần lệch một ngày là sau vài tháng chờ đợi vẫn bị từ chối, rồi lại phải nộp khoản phí đắt đỏ một lần nữa
    Tôi tự hỏi mấy quy định như vậy ra đời bằng cách nào

    • Thực ra tác giả đã nhầm. Ngày mốc không phải là ngày nộp đơn mà là ngày Home Office nhận được hồ sơ
      Tùy tốc độ chuyển phát của Royal Mail mà có thể lệch vài ngày
      Trước khi nộp đơn, tôi đã yêu cầu Home Office cung cấp lịch sử xuất nhập cảnh của mình, nhưng họ hầu như không biết tôi đã ở đâu 5 năm trước
      Chỉ khoảng một nửa số chuyến đi được ghi lại, và nhiều khi chỉ còn dữ liệu một chiều. Quản lý rất lộn xộn
    • Tôi khoảng 50 tuổi, và ngày xưa ở châu Âu cũng như thế này thôi
      Có vẻ thế hệ bây giờ xem lợi ích của quyền công dân EU là điều quá hiển nhiên
    • Phần lớn mọi người không có điều kiện ở lại quá 90 ngày không cần visa
      Những người ở lâu hơn thường là “digital nomad”, mà đa số đang làm việc bất hợp pháp
    • Bài này giống kiểu content marketing để quảng bá ứng dụng
      Có lẽ mức độ bất tiện đã bị phóng đại đôi chút
    • Thực ra cũng không khó đến thế. Năm ngoái tôi tự làm, chỉ cần đặt lịch ở tòa thị chính, kiểm tra DB địa chỉ, ký một tờ giấy rồi nộp phí là xong
      Mất 15 phút là hết. Tất nhiên đây không phải ở Anh mà là lục địa châu Âu
  • Nếu suy nghĩ đầu tiên của ai đó khi quá cảnh ở sân bay là “mua sausage roll ở Greggs”, thì người đó hoàn toàn xứng đáng được cấp quốc tịch

    • Bài kiểm tra Life in the UK cần được cập nhật
    • Claude là một AI khá nhạy với khác biệt văn hóa
  • Bài viết rất hay nhưng tiêu đề thì kỳ lạ
    Nội dung là về nơi cư trú thuế, visa, quốc tịch và các yêu cầu theo từng quốc gia, nhưng cụm “Downloading a border” lại khá mơ hồ về nghĩa
    Có lẽ đây là một phép ẩn dụ cho việc “thông tin chính thức bị rải rác trong nhiều file PDF và trang web nên phải tự gom lại”

    • Có lẽ là một bản nhại của meme chiến dịch chống sao chép lậu “You wouldn’t download a car”
    • Nếu hiểu theo nghĩa “Bạn không thể gọi một biên giới qua API, nhưng có thể tự theo dõi trạng thái của mình” thì đây là một tiêu đề khá ổn
  • Vài người họ hàng của tôi vào châu Âu bằng visa du lịch rồi bỏ vé máy bay về nước và ở lại bất hợp pháp
    Vài năm sau họ được hợp pháp hóa và thậm chí còn có quốc tịch, còn tôi vì tuân thủ pháp luật nên vẫn giậm chân tại chỗ
    Thật bức bối khi không có cách nào đáp ứng điều kiện visa để làm việc hợp pháp

    • Trường hợp như vậy phổ biến đến mức tôi còn bối rối không biết liệu nó có còn bị xem là sai trái về mặt đạo đức hay không
      Tôi đã gặp nhiều người vào bằng visa du lịch, đi làm rồi sau đó được hợp pháp hóa
      Trong khi đó, những người có học vấn cao đi theo visa lao động chính thức lại mất bảo lãnh vì công ty cắt giảm nhân sự và phải tìm việc mới trong vòng 30 ngày
      Chính sách như vậy tạo cảm giác như một sự mất cân bằng có chủ đích
    • Tôi muốn biết “không có cơ sở pháp lý hợp lệ” nghĩa là gì. Ở hầu hết các nước, chỉ cần có việc làm tại địa phương với mức lương vượt ngưỡng nhất định là có thể xin visa lao động
    • Tôi tự hỏi có nơi nào có luật cấp quốc tịch tự động chỉ vì đã cư trú vài năm hay không
    • Tôi muốn biết ở nước nào, và theo thủ tục nào thì việc hợp pháp hóa (legalisation) xảy ra
  • Tôi khâm phục mức độ tỉ mỉ trong công việc của tác giả
    Tôi cũng từng định làm bộ tính Schengen 90/180 ngày và công cụ theo dõi cư trú thuế, thử làm với Claude nhưng phần tính toán quá khó
    Cuối cùng tôi phải tự tạo một dự án mới
    Tôi tò mò không biết kết quả của ứng dụng đã được kiểm chứng thủ công để xác nhận độ chính xác chưa. Với loại ứng dụng này, kiểm thử xác thực là cốt lõi

    • Tôi nghĩ với loại logic thiên về toán học như thế này, viết trực tiếp bằng DSL hoặc các hàm dễ đọc cho con người sẽ tốt hơn dùng AI
      Có thể chỉnh sửa quy tắc dễ dàng hơn, và unit test đặc biệt hữu ích
    • Các bài toán lập lịch phức tạp thì cần rất nhiều unit test
      Vì trong cấu trúc đầu vào → thuật toán → đầu ra có vô số edge case
    • Câu “AI làm bạn trở nên ngốc hơn, rồi bạn lại phàn nàn rằng AI ngu ngốc” nghe như một tình huống lose-lose
    • Nói thật thì, giao phần lớn công việc cho AI rồi lại kể như thể mình đã tự làm một nghiên cứu ghê gớm thì nghe khá kiêu ngạo
  • Bài viết không nói rõ, nhưng ứng dụng mà tác giả làm ra thì ai cũng có thể tải về
    https://drobinin.com/apps/residency/
    Nếu không phải chỉ có Android thì tôi cũng muốn thử trực tiếp

  • Tôi chợt nhận ra đây là người trước đây từng làm hệ thống ra vào phòng gym bằng Apple Watch
    Bài viết khi đó cũng hay, và lần này tôi cũng thích
    Link bài trước

    • Tôi thì ngược lại, tôi không thích văn của người này lắm
      Cái kiểu hành văn khoe mẽ bản thân theo hướng “tôi là người quốc tế, sành điệu” khiến tôi thấy khó chịu
    • Tôi là thành viên PureGym, nên chỉ nhớ mã 8 chữ số và tự nhập trực tiếp
      Ứng dụng chính thức không hay lắm, nên tôi không cần phải lôi điện thoại ra làm gì
  • Đọc bài này xong tôi càng nhận ra giá trị của việc được miễn visa theo hộ chiếu mà mình đang có
    Về lý thuyết thì làm được, nhưng đây là một quy trình quá kém hiệu quả và tốn thời gian

  • Tôi thắc mắc vì sao một số nước khi nhập cảnh lại yêu cầu hộ chiếu phải còn hạn ít nhất n tháng
    Tôi không hiểu hộ chiếu còn hạn ngắn hơn thời gian lưu trú thì gây vấn đề gì
    Tôi nghi ngờ không biết quy định này thực sự ngăn được hành vi bất hợp pháp hay vấn đề kinh tế nào

    • Có lẽ là vì tình huống khẩn cấp
      Nếu việc hồi hương bị chậm lại vì chấn thương hay lý do khác thì hộ chiếu vẫn cần còn hiệu lực, và thời hạn visa trong hệ thống cũng thường chỉ được cấp theo các mốc nhất định
      Ngày hết hạn hộ chiếu là thứ có thể biết trước, nên có lẽ đây đơn giản là yêu cầu bạn tự quản lý một cách có trách nhiệm
  • Bài này rất ấn tượng
    Nó cho thấy rõ vì sao phần lớn các quy định hợp lý đều có bao gồm quyền quyết định hành chính (administrative discretion)