- Ucuz uçak bileti ararken vize, pasaport, vergi mukimliği gereklilikleri gibi birçok kuralın aynı anda kontrol edilmesini gerektiren karmaşık bir süreç var
- Her ülkenin göçmenlik ve vergi sistemleri ‘kalış gününü’ farklı ölçütlerle hesaplaması kafa karışıklığına yol açıyor
- Bunu çözmek için seyahat kayıtlarını ve kuralları bir derleyici gibi doğrulayan ‘Residency’ adlı uygulama geliştirildi
- Uygulama hesaplamaları yerelde yapıyor ve pasaport bitiş tarihi, vize, IDP, vergi mukimliği gereklilikleri gibi unsurları otomatik kontrol ediyor
- Kişinin hareket geçmişiyle idari kuralları tutarlı biçimde yöneterek sınırı geçmeden önce riskleri önceden tespit etmeyi sağlayan bir araç işlevi görüyor
Bilet satın almadan önceki 20 dakika
- Yazar, İzlanda için aşırı ucuz bir bilet bulduğunda vize, pasaport, ehliyet, vergi mukimliği gereklilikleri gibi unsurları hemen kontrol etmek zorunda kaldı
- Bu süreç yaklaşık 20 dakika sürüyor ve basit bir fiyat karşılaştırmasının ötesinde, birçok idari koşulun aynı anda incelenmesini gerektiriyor
- Son 10 yıldaki seyahat geçmişini kaydettiği bir elektronik tablo temelinde çeşitli vize ve vatandaşlık başvurularını yönetiyordu
- Ancak bu yöntemin verimsiz olduğuna karar verip, “Bu seyahat sorun çıkarır mı?” sorusuna otomatik yanıt verecek bir sistem tasarladı
Sistemlerin göstermediği ‘durum (state)’
- Schengen, Birleşik Krallık, vergi mukimliği, pasaport geçerlilik süresi gibi sistemlerin her biri kişinin durumunu farklı ölçütlerle değerlendiriyor
- Schengen 90/180 gün kuralını, Birleşik Krallık vergi yılına göre gece yarısı sayısını, pasaport ise geçerlilik süresi ve boş sayfa sayısını esas alıyor
- Bu bilgiler kullanıcıya doğrudan gösterilmiyor ve yalnızca sınır görevlileri erişebiliyor
- Yazar bunu “state parse etme problemi” olarak tanımlıyor — hem devletin bakış açısını hem de sistem durumunu aynı anda yorumlamak gerekiyor
İdarenin istisna örnekleri
- Birleşik Krallık vatandaşlığı başvurusunda, başvuru tarihinden tam 5 yıl önce aynı gün Birleşik Krallık’ta bulunulduğunun kanıtlanması gerekiyor
- Bir gün bile şaşarsa aylarca beklendikten sonra başvurunun reddedilmesi ve yeniden başvuru masrafı doğuyor
- Birleşik Krallık’ta havalimanı aktarmasında, seyahatten bağımsız bir faaliyet (ör. atıştırmalık almak, gösteri izlemek) yapılırsa ancak o zaman ‘kalış’ sayılabiliyor
- Fas’ın Ramazan dönemindeki saat dilimi değişikliği (UTC↔UTC+1) yüzünden kalış günü hesabı değişebiliyor
- Bu kurallar farklı devlet sitelerine ve PDF’lere dağılmış durumda, bu yüzden kullanıcıların bunları kendilerinin yorumlaması gerekiyor
‘Derleyici uyarısı’ olarak seyahat simülasyonu
- Yazar, seyahat planlarını “derlenebilir mi?” bakış açısıyla doğrulayan bir linter kavramı sunuyor
- Örnek rota (DUB→EWR→MEX→LHR→TFS) üzerinden ülkelerin kalış günü hesaplama farkları karşılaştırılıyor
- İrlanda 0 gün, ABD 0 gün, Meksika 2 gün, Birleşik Krallık 0~1 gün, Schengen 1 gün
- Her sonuç saat dilimi veritabanı sürümüne göre değişebileceğinden sürüm sabitleniyor ve değiştiğinde yeniden hesaplanıyor
- Amaç, sınır görevlileriyle aynı karar ölçütlerine sahip otomatik bir doğrulama sistemi kurmak
Residency uygulamasının yapısı ve işlevleri
- Uygulama, “Bu eylemi yaparsam ne olur?” sorusunu farklı biçimlerde simüle ediyor
- Örn. Alpler gezisi rezervasyonu yapılınca Schengen kalış gününün aşılıp aşılmadığı, vergi yılı bitmeden ülkeden çıkmanın etkisi gibi
- Her ülkeye ait kurallar, sürüm kontrollü yorum verisi (blob) olarak saklanıyor; böylece kurallar değişse bile geçmiş kayıtlar korunuyor
- Pasaport, vize ve IDP geçerliliği de bir state machine olarak ele alınıyor
- Örn. Dubai aktarmasında “varışta geçerli” olan bir belgenin “kalkışta geçersiz” hâle gelmesi otomatik tespit ediliyor
- Kullanıcılar kendi hedeflerini (örn. belirli bir ülkedeki kalış günü sınırı) doğrudan tanımlayabiliyor ve uygulama buna göre uyarı veriyor
Yerel öncelikli tasarım ve gizlilik
- Tüm hesaplamalar cihaz üzerinde yapılıyor ve ağ bağlantısı olmadan da çalışıyor
- Sunucuyla iletişim kurulmadığı için hız, gizlilik ve hukuki sorumluluk sorunlarından kaçınılıyor
- Bulut senkronizasyonu desteklenmiyor, ancak dosya olarak dışa aktarma mümkün
- Başlangıçta yalnızca Schengen gün hesabını desteklerken, daha sonra Birleşik Krallık vergi kuralları, belge süresi dolumu ve simülasyon özellikleri eklendi
- Uygulamanın yayımlanma nedeni, başka kullanıcıların da aynı 20 dakikalık belirsizliği azaltmasını istemesi
Gerçek kullanım sonuçları ve sonuç
- İzlanda bileti satın almadan önce uygulama IDP gerekmediğini, Schengen’de 34 gün pay kaldığını ve vergi mukimliğinin ne zaman sona ereceğini doğru hesapladı
- Gerçek giriş sırasında Keflavík Havalimanı görevlisinin kararıyla uygulamanın sonucu aynı çıktı
- Uygulamanın adı Residency, iOS için sunuluyor ve abonelik olmadan tek seferlik satın alma modeliyle satılıyor
- Sonuç olarak metin, “Sınırlar cURL ile çağrılamaz; ama kendi durumunuzu takip ederek devletle aynı yanıta ulaşabilirsiniz” mesajıyla kapanıyor
1 yorum
Hacker News görüşleri
AB vatandaşı olmayan kişiler için seyahatin bu kadar karmaşık bir süreç gerektirdiğini bilmiyordum
Birleşik Krallık vatandaşlığına başvururken, başvuru tarihinden tam 5 yıl önceki aynı günde gerçekten Birleşik Krallık'ta bulunduğunu kanıtlaman gerektiği kuralı çok saçma
Bir gün bile kaçırırsan aylarca bekledikten sonra reddediliyorsun ve tekrar pahalı bir ücret ödemen gerekiyor
Böyle bir kuralın nasıl ortaya çıktığını merak ediyorum
Royal Mail'in teslimat hızına göre birkaç günlük fark oluşabilir
Ben başvurmadan önce Home Office'ten giriş-çıkış kayıtlarımı istedim ama 5 yıl önce nerede olduğuma dair neredeyse hiçbir bilgileri yoktu
Seyahatlerimin ancak yarısı kayıtlardaydı ve çoğu zaman sadece tek yön görünüyordu. Yönetim tam bir karmaşaydı
Bugünün nesli AB vatandaşlığının avantajlarını fazla doğal karşılıyor gibi geliyor
Daha uzun kalanlar “dijital göçebe” oluyor ve çoğu aslında yasa dışı çalışıyor
Rahatsızlık düzeyi biraz abartılmış olabilir
15 dakikada biten bir işti. Tabii burası Birleşik Krallık değil, Kıta Avrupası idi
Eğer havaalanı aktarması sırasında ilk düşündüğün şey “Greggs'ten sausage roll almak” ise, o kişi vatandaşlığı fazlasıyla hak ediyordur
Yazı harikaydı ama başlık tuhaftı
Vergi mukimliği, vize, vatandaşlık gibi ülkelere göre değişen gerekliliklerden bahsediyor ama “Downloading a border” ifadesi anlam olarak muğlak
Muhtemelen “resmî bilgilerin çeşitli PDF'lere ve sitelere dağılmış olması, bunları kendin toplaman gerekmesi” anlamında bir mecaz
Bazı akrabalarım Avrupa'ya turist vizesiyle girip dönüş uçak biletlerini atarak kaçak kaldı
Birkaç yıl sonra yasallaşıp vatandaşlık bile aldılar, ben ise kurallara uyduğum için hâlâ yerimde sayıyorum
Yasal olarak çalışmaya imkân veren vize koşullarının olmaması çok sinir bozucu
Turist vizesiyle gelip çalışıp sonra yasallaşan çok insan gördüm
Buna karşılık resmî çalışma vizesiyle gelen yüksek eğitimli kişiler, şirkette küçülme olunca sponsorluklarını kaybedip 30 gün içinde yeni iş bulmak zorunda kalıyordu
Bu politika bana kasten yaratılmış bir dengesizlik gibi geliyor
Yazarın bu kadar ince iş çıkarmasına hayran kaldım
Ben de Schengen 90/180 gün hesaplayıcısı ve vergi mukimliği takip aracı yapmaya çalışmıştım; bunu Claude ile denedim ama matematiksel hesaplar fazla zordu
Sonunda sıfırdan yeni bir proje yapmak zorunda kaldım
Uygulamanın sonuçlarını doğrulamak için manuel kontrol yapıp yapmadığını merak ediyorum. Böyle uygulamalarda asıl kritik nokta test doğrulaması
Kuralları değiştirmek kolay oluyor ve birim testleri özellikle çok faydalı
Çünkü girdi→algoritma→çıktı yapısında çok fazla uç durum vardır
Yazıda açıkça belirtilmemiş ama yazarın yaptığı uygulama herkes tarafından indirilebiliyor
https://drobinin.com/apps/residency/
Android değil de başka bir platform için olsaydı bizzat denemek isterdim
Bu yazarın daha önce Apple Watch ile spor salonu giriş sistemi yapan kişi olduğunu fark ettim
O zamanki yazısı da iyiydi, bu yazıyı da beğendim
Önceki yazı bağlantısı
Fazla “uluslararası ve rafine biriyim” havası vermeye çalışan kendini sergileyen bir üslup sinir bozucuydu
Resmî uygulama pek iyi değil, bu yüzden telefon çıkarmaya gerek duymuyorum
Bu yazıyı okuyunca pasaportumun sağladığı vizesiz seyahat imkânının değerini yeniden fark ettim
Mümkün ama aşırı verimsiz ve zaman alan bir süreç
Bazı ülkelerin neden girişte pasaportun bitimine en az n ay kalmış olmasını şart koştuğunu merak ediyorum
Pasaportun kalış süresinden daha kısa süre geçerli kalmasının ne sorun yarattığını anlamıyorum
Bunun gerçekten hangi yasa dışı davranışı ya da ekonomik sorunu önlediğini sorguluyorum
Yaralanma gibi bir nedenle dönüş gecikirse pasaportun hâlâ geçerli olması gerekir, ayrıca vize süreleri de sistemde ancak belli birimlerle veriliyor olabilir
Pasaport bitiş tarihi önceden bilinen bir şey olduğundan, bunun anlamı belki de sadece insanlardan biraz sorumluluk beklenmesidir
Bu yazı etkileyiciydi
Bu yüzden çoğu makul kuralda neden idari takdir (administrative discretion) bulunduğunu da iyi gösteriyor