Haskell ile Birleşik Krallık ‘Passport Application’ Problemini Çözmek
(jameshaydon.github.io)- Birleşik Krallık pasaport başvuru sürecini bürokratik bir belge toplama bulmacası olarak ele alan ve vatandaşlığı kanıtlamak için gereken belge kombinasyonlarını Haskell ile mantıksal arama yaparak hesaplayan bir örnek
- HMPO’nun belge talepleri; başvuru sahibi, ebeveynler ve büyükanne-büyükbabaların doğum yeri ve tarihi, ebeveynlerin vatandaşlığı ve yerleşik statüsü, evlilik durumu gibi bilgilere göre soy ağacı yönünde özyinelemeli hale gelebiliyor
- Yurt dışında doğmuş bir çocuğun ilk pasaport başvurusunda, büyük büyükbabanın doğum belgesi ve evlilik belgesine kadar talep edildi; özyineleme ancak 1983 öncesi Birleşik Krallık doğumu gibi bir temel duruma ulaşınca duruyor
- Uygulama, Prolog yerine Haskell’in LogicT’si ve
StateT Claims IOile olası vatandaşlık kanıtıProofdeğerlerini listeliyor ve her yol için gerekenSet Documentdeğerini hesaplıyor - Aynı başvuru için birden fazla kanıt yolu mümkün olduğundan, daha basit bir yol mevcut olsa bile fiili talep daha uzun olabilir; otomasyon belge hazırlamaya ve taleplerin nedenini anlamaya yardımcı olabilir
Passport Application’ı belge toplama oyunu olarak görmek
- Birleşik Krallık’taki Passport Application, HMPO tarafından yürütülen çevrimiçi bir başvuru sürecidir; standart çevrimiçi sürümün başlangıç maliyeti yaklaşık £100’dır
- Amaç, farklı bürokratik kurumlara dağılmış özgün belgeleri toplayarak “başvuru sahibi British’tir” önermesini kanıtlamaktır
- Nihai ödül, yeniden başvurabileceğiniz tarihin yazdığı küçük bir kitapçık, yani pasaporttur
- Kâğıt tabanlı başvuru, postaya dayanan “hardcore” sürüme daha yakındır
Gerçek başvuruda gelen belge talepleri
- Örnek, kızı adına çevrimiçi olarak “first child passport born abroad” zorluk seviyesinin seçildiği bir başvurudur
- Başvuru bir “examiner” tarafından işlenir, ancak başvuru sahibi yalnızca sohbet veya telefon üzerinden bir advice agent aracılığıyla soru sorabilir
- advice agent’ın yönlendirmesi resmî karar değildir
- examiner’a soru iletildiğinde birkaç gün, örnekte en fazla yaklaşık 10 günlük bir bekleme süresi oluşur
- İlk belge taleplerinin yaklaşık %50’si sohbet hizmetinde gereksiz olarak belirtildi; sonrasında da ek belge talepleri devam etti
- Talep e-postasında bozuk bir şablon gibi görünen
__APPLICANT_NAME__yer alıyordu ve ebeveyn sorumluluğunu kanıtlama şartı da net değildi - Sonunda nadir görülen bir talep olarak baba tarafından büyük büyükbabanın doğum belgesi ve evlilik belgesi istendi
- “applicant's Paternal great grandfather” ifadesinin iki kişiden hangisi olduğu belirsiz olabilir
- Bu,
applicant's father's father's father's birth certificateolarak yorumlandı
HMPO mantığını özyinelemeli bir kanıt problemine dönüştürmek
- HMPO’nun mantığı belge tabanlı bir Bureaucratic Logic olarak görülebilir
- Constructive Logic’te olduğu gibi yalnızca mantıksal olasılık yeterli değildir
- Kanıt için özgün belgeler biçiminde “tanıklar” gerekir
- Üçüncü hâlin imkânsızlığı ilkesi
P ∨ ¬Pdoğrudan kullanılamaz- Örneğin “babanın babası Birleşik Krallık doğumlu mu değil mi” seçeneklerinden birinin doğru olduğunu söyleyip iki senaryonun belgelerini de sunmak kabul edilmez
- Bir alternatif seçilmeli ve ona uygun belgeler sunulmalıdır
- HMPO yönergelerine göre 31 Aralık 1982’den sonra Birleşik Krallık dışında doğan kişiler, genel olarak doğum anında ebeveynlerinden birinin “British citizen otherwise than by descent” olması halinde British citizen olur
- HMPO, Britishness’ı yalnızca kendi pasaport kayıtlarıyla kanıtlamadığı için bazı başvurularda ebeveynler ve büyükanne-büyükbabalar yönünde özyinelemeli belge talepleri oluşur
- Özyineleme, Britishness’ı ebeveynlere bağlı olmayan bir atada durur
- Örn: vatandaşlığa kabul edilmiş kişi
- Örn: 1983 öncesi Birleşik Krallık doğumlular, ebeveynlerden bağımsız olarak British olan temel durum
Örnekteki talep zinciri
- HMPO’nun ilk belgeleri aldığı tarih 7 Hazirandı; bunlar başvuru sahibinin doğum belgesi ile başvuru sahibinin babasının doğum belgesini içeriyordu
- 12 Haziran talebi:
- Başvuru sahibinin babası 1 Ocak 1983’ten sonra doğduğu için, babanın British citizenship claim kanıtının gerektiği belirtildi
- Bunun sonucunda babanın babasının doğum belgesi istendi
- 26 Haziran talebi:
- Başvuru sahibinin büyükbabası yurt dışında doğduğu için British citizenship claim kanıtının gerektiği belirtildi
- Buna bağlı olarak başvuru sahibinin baba tarafından büyük büyükbabasına ait belgeler istendi
- Gerekli belgeler doğum belgesi ve evlilik belgesiydi
- Bu özyineleme e-posta talepleri biçiminde yürütüldü
Haskell uygulamasının yapısı
- Kodun tamamı GitHub üzerinde yer alıyor
- Başta kurallar Prolog ile kodlanırken daha sonra Haskell’in
LogicTmonadına geçildi - Amaç tek bir belge listesi değil, olası birden fazla belge kümesini bulmaktır
- Vatandaşlık iddiası için birden çok yol olduğundan gereken belge kümeleri de birden çok olabilir
- Kavramsal olarak
Set (Set Document)gerekir
- Belge modeli; başvuru sahibini ve ataları, sertifika türlerini tiplerle ifade eder
Parent = Mother | FatherPerson = Applicant | Parent Parent PersonDocument = BirthCertificate Person | MarriageCertificate Person Person | NaturalizationCertificate Person | Passport Person
- Basit bir belge listesiyle neden yeterli olduğunu anlamak zor olduğundan problem kanıt araması olarak ele alınır
LogicTile başvuru sahibinin Britishness’ına ilişkin tümProofdeğerleri listelenir- Her
Proofiçin gereken belge kümesi hesaplanır
Proof ve bilgi durumu
- Kanıt tipi üç biçimden oluşur
ViaParent Person Proof: ebeveyn üzerinden Britishness türetmeAnd Proof Proof: iki iddiayı birleştirmeEvidence Predicate: temel kanıt
- Gerekli sorular çalışma sırasında kullanıcıya sorulur ve önceki yanıtlar tüm dallanmalarda ve backtracking sırasında yeniden kullanılır
- Bunun için
IO,StateveLogicTbirleştirilirtype Claims = Map Predicate Knowledgetype M a = LogicT (StateT Claims IO) a
Knowledge,SureYes,SureNo,Unsureolarak ayrılırPredicate, kural değerlendirmesi için gereken koşulları temsil ederIsBritish PersonSettled PersonBornBefore Int PersonBornInUK PersonBornAfter Int PersonNaturalized PersonYears3LivingInUK PersonIsBritOtbd PersonMarried Person Person
Vatandaşlık değerlendirme kurallarının özü
britfonksiyonu, bir kişinin British olup olmadığını belirleyen kök fonksiyondur- Önce
IsBritish pkontrol edilir - Doğum yoluyla Britishness ve vatandaşlığa kabul yoluyla Britishness araştırılır
- Önce
- Vatandaşlığa kabul basit bir yoldur ve vatandaşlığa kabul belgesi temel belge olur
- Birleşik Krallık’ta doğanlar genel olarak iki duruma ayrılır
- 1983 öncesi Birleşik Krallık doğumu ise temel durum olarak Britishness kazanır
- Daha sonraki doğumlarda ebeveynlerden birinin British olup olmadığı veya o sırada yerleşik statüde olup olmadığı kontrol edilir
- Birleşik Krallık dışında doğanlarda durum daha karmaşıktır
- Ebeveynin British otherwise than by descent olup olmadığı kontrol edilir
- Ya da ebeveynin British olması ve Birleşik Krallık’ta kesintisiz 3 yıl yaşadığına dair kanıt bulunması aranır
- “British otherwise than by descent”, Britishness’ı yalnızca ebeveynlerinden almamış kişiyi ifade eder
- Örn: vatandaşlığa kabul
- Örn: Birleşik Krallık doğumu
- Örn: yurt dışında doğmuş olsa da ebeveynin “Crown Service” görevinde olduğu durum
Ebeveyn üzerinden aktarım ve 2006 koşulu
viaParent, çocuğun ebeveyn üzerinden Britishness elde ettiği durumları ifade eder- Anne ve baba yollarının ikisi de araştırılır; ancak baba yoluna ek koşul eklenir
- Çocuk 2006’dan sonra doğmuşsa baba yolu doğrudan kullanılabilir
- 2006’dan önce doğmuşsa baba ile annenin doğum sırasında evli olup olmadığı kontrol edilir
- Uygulamada “registration” gibi dolaylı yollar ve tarihsel bazı cinsiyet ayrımcı hükümler yer almıyor
- Bugün geçerli olmayan yasalar, ataların Britishness’ı değerlendirilirken tarihsel olarak uygulanabilir olabilir
Çalıştırma sonucu ve üç kanıt yolu
run (brit Applicant)çalıştırması etkileşimli sorularla ilerler- Örn: başvuru sahibinin Birleşik Krallık doğumlu olup olmadığı
- Örn: babanın British otherwise than by descent olup olmadığı
- Örn: büyükanne-büyükbabaların yerleşik statüde olup olmadığı
- Örnekte toplam 37 soru soruldu
- Kullanıcı bilmediğinde
dkyanıtını verebilir; bu durumda ilgili dal araştırılmaya devam eder - Sonuç, başvuru sahibi için 3 Britishness proof bulunduğunu yazdırır
- Proof 1:
- Başvuru sahibi 2006’dan sonra doğmuştur
- Britishness baba üzerinden gelir
- Baba Birleşik Krallık doğumludur
- Babanın annesi doğum anında yerleşik statüdedir
- Gerekli belgeler başvuru sahibinin doğum belgesi, babanın doğum belgesi, babanın annesinin yerleşik statü belgesidir
- Proof 2:
- Babanın babasının annesinin 1983 öncesi Birleşik Krallık doğumlu olduğu yoldur
- Gerekli belgeler arasında başvuru sahibi, baba, büyükbaba ve büyükbabanın annesinin doğum belgeleri ile büyükanne-büyükbabanın evlilik belgesi bulunur
- Proof 3:
- Babanın babasının babası, yani baba tarafından büyük büyükbabanın 1983 öncesi Birleşik Krallık doğumlu olduğu yoldur
- Gerekli belgeler arasında başvuru sahibi, baba, büyükbaba ve baba tarafından büyük büyükbabanın doğum belgeleri ile iki neslin evlilik belgeleri bulunur
- HMPO’nun talep ettiği
Birth certificate for Applicant's Father's Father's Fatherbu yolda görünür
Crown Service ve daha karmaşık yollar
- Örnekte baba tarafından büyük büyükbabanın Crown Service statüsü kafa karışıklığı yarattı, ancak çalıştırma sonucuna göre bu statü gerekli değildi
- Babanın British otherwise than by descent statüsü, Birleşik Krallık doğumu ve büyükbabanın basit Britishness’ından zaten türetiliyordu
- Ancak büyükbabanın basit Britishness’ı yine de kanıtlanmak zorunda olduğundan özyineleme büyükbaba nesline iner
- Büyükbabanın “legitimacy”sini kanıtlamak için evlilik belgesi de gerekir
- HMPO’nun seçtiği yol, üçü içinde en uzun ve en karmaşık olan Proof 3’tür
- Proof 1, yalnızca bir atanın yerleşik statüsünü kanıtlamayı gerektiren daha basit bir yoldur
- British olmayan yerleşik bir ata üzerinden vatandaşlık, özyinelemeli olmadığı için daha basit olabilir
- Ancak belirli bir zamandaki yerleşik statüyü kanıtlamak kendi başına zor olabilir
Uygulamadaki sınırlamalar ve otomasyon değerlendirmesi
orElse, ilk dal başarılı olursa ikinci dalı araştırmaz;<|>ise iki dalı da araştırır- Bazı kurallarda
<|>kullanmak daha fazla vatandaşlık kanıtı yolu üretir, ancak HMPO’nun önce belirli bir yolu tüketmeye çalıştığı izlenimi oluşan durumlar vardır - Uygulama, belirli bir zamandaki koşulları yeterince hassas biçimde takip etmiyor
- Örn: evlilik durumu veya yerleşik statünün belirli bir kişinin doğum anında geçerli olması gereken durumlar
- Bunun kolayca eklenebilecek bir bölüm olduğu düşünülüyor
- Birleşik Krallık vatandaşlık hukukunun tamamı uygulanmış değil; yalnızca örnekle ilgili veya ilginç olan bölümler kodlanmış
- Tam uygulama çok daha fazla kod ve çok sayıda istisna gerektirir
- Böyle bir yazılım olsaydı doğru belge kümelerini daha hızlı oluşturmak ve taleplerin neden karmaşıklaştığını anlamak için yararlı olabilirdi
- Tam otomasyonun riskleri de var
- Program false positive üretirse “bilgisayar olur dedi” şeklinde itirazlar doğabilir
- İnsan uzmanlığının yerini alan otomasyon, “bilgisayar olmaz dedi” gerekçesiyle vatandaşlığın reddedildiği durumlara yol açabilir
- Mevcut başvuru henüz sonuçlanmadı; Proof 2 ve Proof 3 aynı anda yürütülüyor, başarısız olursa Proof 1 denenecek
1 yorum
Hacker News yorumları
Son 10 yılda birkaç büyük Birleşik Krallık kamu sistemiyle çalıştım; bu yazı, kamu hizmetleri/yazılımları geliştirirken neden tuhaf sonuçlar ortaya çıktığını iyi gösteriyor.
Kamu yazılımı özünde yüzlerce yıllık Parlamento yasalarını koda aktarma işi. HMPO pasaport sistemini kurduğunuzda, dayandığı yasa değişir ya da yürürlükten kalkarsa, birilerinin tüm sistemlerde o yasanın etkilediği yerleri bulup düzeltmesi gerekir.
Buna bir de hükümetin işi sık sık pahalı danışmanlık şirketlerine dışarıdan vermesini ekleyin; bu şirketlerin de sözleşmeleri büyütme, müşteriden azami değeri çıkarma ve kalıcı yer edinme motivasyonu var. Kalitesi ve esnekliği dengesiz sistemler üretildiği için yasa her değiştiğinde aynı süreç tekrarlanıyor.
Eskiden Spend Controls gibi merkezi karar alma yetkileri vardı; ama artık bu sorunu koordine edecek bir merkez yok. Bu yüzden kamu hizmeti sunmanın maliyeti bu kadar pahalı hale geliyor.
Gerçekte çalışan bir şeye yakın bir şey yapıyorlar; tek bir junior geliştiricinin 3 ayda çıkarabileceği gibi görünen bir sonuç için yaklaşık 1000 kat fazla fatura kesiyorlar, ama sistem gerçekten çalışmış gibi para alıyor gibiler.
Formu takip etmek kolaydı; ardından işlemi tamamlamak için bir kez ofise gittim, bu da sadece 10 dakika sürdü ve pasaport teslim edildi. Mümkün olduğunca az sancılı bir süreçti diyebilirim.
Birleşik Krallık’ta durum ne olursa olsun umutsuz değil. Hükümet gerçek çalışanlar işe almaktan korkmamalı ve geliştirmeyi tamamen içeriye almalı.
Belirtildiği gibi teknik işlerin tamamı dışarıya verilmiş durumda; bu yüzden oldukça devrimci bir yeniden tasarımı hayal edip hayata geçirecek kurum içi kapasitenin eksik olması, aradaki farkın bir parçası gibi görünüyor.
Hükümetin IT projelerinde taşeronlara on milyonlar harcarken, uzun vadede daha ucuz olabilecek kurum içi mühendislere piyasa ücretini ödeyememesi çok sinir bozucu.
Şuraya buraya istisna koşulları serpiştirmek yerine, yalnızca salt eklemeli biçimde “patch” uygulanabilecek bir sistem olsa iyi olurdu.
Bazı mantıksal programlama dilleri bunu bir ölçüde yapabiliyor; ama asıl sorun, teknik borç bütçesinin olmaması ve hukukla uğraşan avukatların da karmaşıklıktan fayda sağlayabilmesi gibi görünüyor. Yasaları mümkün olduğunca basit tutmaya adanmış insanlar olsa iyi olurdu.
Haskell sözdizimi ilginç. Biri açıkladıktan sonra sezgisel geliyor; ama açıklanmadan önce pek sezgisel değil.
Bunun yalnızca Algol ailesi dillere (C, Python vb.) alışkın olmaktan kaynaklandığını sanmıyorum. Şimdiye kadar gördüğüm Haskell kodlarında kodu kısa tutmaya çalışan çok fazla operatör vardı ve sadece bakınca ne yaptıkları açık değildi: https://academy.fpblock.com/haskell/tutorial/operators/
Uzun zaman önceydi, yeniden yapmak istemem; ama JavaScript tarafına cömert davransak bile pratik Haskell için gereken operatör sayısı, pratik JavaScript’in 10 katı değil, kabaca 2 katı düzeyinde.
Haskell’de başta katlanmanız gereken yan karmaşıklıklar var; ama bu, popüler başlangıç dillerinden tür olarak farklı değil, derece olarak farklı. Algol tarzı diller hakkında ne kadar çok şey öğrendiğimizi, bunları zaten fazlasıyla içselleştirdiğimiz için unutmak kolay.
Programlamaya yeni başlayan ortaokul/lise öğrencilerine Java ve Python öğrettim; özellikle bire bir çalışırken, açıklama gerektiğini bile unuttuğum şeylerde takılıp kalıyorlardı. Python’da
:işaretinin yerini yanlış koymak ya da=işaretinin nasıl çalıştığını anlamamak gibi.:ve=gibi “temel” sözdizimi öğeleri bile düşündüğümüzden çok daha karmaşık. Bu, ana dili İngilizce olan birinin “big red ball” ile “red big ball” arasındaki sıfat sırası kuralının farkında olmamasına, ama öğrenenlerin bunu bir duvar gibi karşısında bulmasına benziyor.Programlama bilmeden rastgele bir Java programı elinize alsanız, yine neredeyse hiçbir şey anlamazsınız. Hiç matematik dersi almadan formül okumaya çalışırsanız, operatör olsun olmasın hiçbir şeyi anlamamanız da aynı şekilde.
Ölçüt, temelleri öğrenip birkaç öğreticiyi yaptıktan sonra ne kadarını anlayabildiğiniz olmalı.
Sezgisel olmak, ön bilgi ya da açıklama olmadan da kolayca anlaşılabilir veya öğrenilebilir olmak anlamına daha yakın.
Şikâyet edilen şey de aslında sözdizimi gibi görünmüyor. Haskell’in bazı bileşenleri monad veya lens gibi belirli modellere gönderme yapıyor; okur o bilgiye zaten sahip değilse hiçbir sözdizimi o bilgiyi ona enjekte edemez.
Bu yazıyı beğendim. Başta parodi gibi başlıyor, sonra yavaş yavaş o “oyun” için ciddi ve zarif bir çözüme dönüşüyor.
Sonuna geldiğimde ben de bizzat denemek isteyecek kadar etkilenmiştim.
Birleşik Krallık pasaport başvurusu, gerekli belgeleri HMPO’ya postayla göndermek dışında tamamen çevrimiçi tamamlanabiliyor.
Evlat edinme, vatandaşlığa kabul veya soy bağı yoluyla “yeni” vatandaş olmuş olsanız bile, Birleşik Krallık dışından, yalnızca bir mobil cihazla, ayrı bir uygulama indirmeden fotoğraf çekimi dâhil yeni pasaport başvurusu yapılabiliyor.
Şaka olsun diye kâğıt kalemle “zor mod” oynanabilir belki, ama benim deneyimim son derece verimli, hızlı ve basitti.
Eski bir bilgisayarda ve “antik” bir tarayıcıda bile kusursuz çalıştı; renkler, metinler, düğmeler, giriş alanları ve gereksinimlerin hepsi sade, erişilebilir ve açıktı. Adım adım gezinme de basitti ve gerçekten kullanıcı dostuydu.
Daha fazla şirketin müşterilerini yeterince önemseyip böyle iyi tasarlanmış web sitelerine yatırım yapmaması üzücü. HMPO iyi iş çıkarmış.
Karşılaştırma için, Kaliforniya’dan Kanada pasaportumu yenilediğimde 3 yıl içinde hasar görmüş bir pasaporttu ve 4 ay sürdü. Tamamen kâğıt tabanlıydı; kefil ve fotoğrafçının damgaladığı fotoğraf istemek gibi saçma koşulları vardı.
Dijital bir pilot uygulamanın sürdüğünü biliyorum; mümkün olduğunca çabuk tamamen devreye alınmalı.
Yüz yüze mülakat gerekiyor ve birçok kişinin erişemeyeceği sorumlu bir kişinin imzası da gerekiyor. Örneğin doktor kabul edilmiyor.
Japonya’da bu süreci yürütecekler için, benim sunmak zorunda kaldığım belgeler şunlardı. Duruma göre değişecektir; özellikle yazar da Birleşik Krallık dışında doğmuş gibi göründüğünden farklı veya daha fazla belge gerekmiş olabilir.
Sunduğum belgeler: Birleşik Krallık General Register Office’ten sipariş edilmiş onaylı doğum belgesi kopyası, Japon aile kütüğü aslı ve çevirisi, doğum bildirimi kabul belgesi aslı ve çevirisi, evlilik belgesi aslı ve çevirisi, çocuğun Japon pasaportunun tüm sayfalarının renkli kopyası ve çocuğun benim çocuğum olduğunu doğrulayan ABD veya Birleşik Krallık vatandaşı birinin pasaport kopyasıydı.
Süreç oldukça belirsiz; genel olarak görevli tatmin olana kadar belge göndermeye devam etmeniz gereken bir yapı gibi görünüyor.
applicant's father, yani ben Birleşik Krallık’ta doğmuştum amaapplicant's father's fatherBirleşik Krallık doğumlu değildi; ek karmaşıklığın nedeni de buydu.Ben Britanyalıyım, eşim Macar ve Macaristan’da yaşıyoruz; bizden her iki ebeveynin doğum belgeleri ile dört büyükanne/büyükbabanın doğum belgelerinin tamamı istendi.
Eşim babasıyla görüşmediği için durumu açıklayan bir ön yazı sunmak zorunda kaldık ve kabul edildi. Yine de oğlumun Birleşik Krallık vatandaşlığı zaten benim Birleşik Krallık vatandaşlığımdan geldiğine göre, eşimin vatandaşlığının ve eşimin ebeveynlerinin vatandaşlıklarının neden ilgili olduğunu pek bilmiyorum.
Başka birinin pasaportunu kopyalamamız gerekmedi ama bir aile dostunun çevrimiçi olarak onaylaması gerekti. O aile dostu Birleşik Krallık’ta avukat olduğu için onaylı meslekler listesindeydi.
ABD’de doğan kızım için MN1 başvurusu yapmak zorunda kaldık. Çünkü hem ben hem de eşim yurtdışında doğmuştuk.
Asıl yazının ima ettiği gibi bu, “kayıt” denen bir tür yan görev ve çocuk 18 yaşına gelmeden yapılmazsa süresi kaçıyor. Elbette böyle bir durumda da vatandaşlık almanın hâlâ yolları olduğunu biliyorum.
Sürecin en zor kısmı, Passport Application’ın bu sürümünde ele alınmamış ama gelecekteki bir DLC paketinde çıkacak türden, kanıt belgelerimi tasdik edecek birini bulmaktı. Asılları göndermeniz gerektiği söyleniyor, fakat pasaport dâhil belgeleri 3–6 ay tuttukları için yurtdışında yaşayanlar açısından gerçekçi değil.
Tam kuralları hatırlamıyorum ama ABD noterini veya olağan avukat tasdik sürecini kullanamıyorduk; sonunda belediye meclisi ofisine gitmem gerekti.
Yaklaşık beş belediye meclisini aradım; hepsi süreci veya gereksinimleri bilmediklerini söyledi. Sonunda Islington Council’da çok yardımcı olan birini buldum. Yine de Birleşik Krallık devletiyle yaşadığım etkileşimler arasında daha bunaltıcı olanlardan biriydi.
Ben de vekâleten Passport Application oyununu oynama zevkini tattım.
Asıl yazının değinmediği ilginç kurallardan biri değişken tarih kuralı. Tek bir belgedeki olgular kısa süre içinde bile değişebiliyor; bu yüzden daha önce inceleyenin olgu kayıt sistemine taranmış bir belge, sonradan tekrar taranmak üzere geri gönderilmek zorunda kalabiliyor.
Belgedeki olguların değişmediğini doğrulamak, inceleyenler ırkının çoklu evrenin varlığını örtük olarak kabul ettiği anlamına gelir deniyor.
“NPC” telefon danışmanları ile inceleyenler arasındaki iletişim kanalı duaya benziyor; pratikte alabileceğiniz şey yalnızca muğlak çıkarımlar.
Ayrıca asıl yazının yazarı Mornington Crescent meraklısı olabilir. Az önce söz edilen Passport Application ile kural topolojisi benzer görünen bir oyun.
Doğum belgesi de bir bakıma değiştirilemezdir, ama üzerinde yazan her şey tamamen değiştirilemez değildir.
Üstelik pasaport ofisi, bu soyadı uyuşmazlığını açıklayıp geçtikleri önceki pasaportumla ilgili kararı unutmuştu. Hatta bir pasaportta annemin pasaportunun bir sayfasında kayıtlıydım.
NPC’ler gerçekten insanı çileden çıkarıyor. Her telefon ettiğimde ve e-posta gönderdiğimde farklı yanıt aldım. Berbat bir büyük dil modeli gibiydiler.
Başvurudan sonra anneme, aynı başvuru paketinde bir kızının ek Birleşik Krallık belgelerine ihtiyaç duyduğunu, diğerininse duymadığını ve pasaportunun çıktığını açıklamak zorunda kaldım. Tek sebep birinin Birleşik Krallık’ta doğmuş, diğerinin doğmamış olmasıydı.
Annem doğal olarak patladı, konuyu milletvekiline taşıdı ve bir gün içinde çözüldü.
Kızlarımdan biri için bu cehennem gibi süreçten daha yeni geçtim. Kızım Japonya’da doğdu ve benim doğum belgemde yazan soyadıyla annemin soyadını eşleştirmeye uğraştım.
Kısaca, İngiltere’de doğduğumu ve vatandaşlığımın, yani pasaportumun olduğunu kanıtladığıma göre, hangi olasılığa bakılırsa bakılsın bunun kızıma aktarılabilecek bir statü olması gerektiği görünüyordu. İstenen belge kılavuzlarıyla uyuşmuyor ama bunun çok daha az acı verici bir yol olduğunu düşünüyorum.
“Temel durum nedir? Temel durum, Britanyalı statüsü ebeveyne bağlı olmayan bir ata; örneğin vatandaşlığa geçmiş ya da 1983’ten önce Birleşik Krallık’ta doğmuş biri. 1983’ten geleceğe doğru uzaklaştıkça bu çağrı yığını daha da derinleşir” kısmı, vatandaşlar ve yabancı sakinler için merkezi bir veritabanı olan ve vatandaşlık doğrulamasının bir SQL tablosunda tek bir
SELECTkadar basit olduğu bir ülkeden gelen biri açısından delilik gibi görünüyorYurt dışında doğan kişilerin de çoğu zaman vatandaş olduğu durumlar var ve Birleşik Krallık, vatandaşlığı etkileyen akıl almaz sayıda toprak değişikliği yaşadı
Bugünkü vatandaşların bir kısmı Bombay, yani Mumbai’de doğduğu için vatandaşlığa sahip; bir kısmı da Hong Kong’da doğduğu için vatandaşlığa sahip
Güvenilir bir vatandaş listesi tutmak için düzenli kayıt gerekir; kayıt yaptırmayanların da vatandaşlığını kaybetmesi gerekir
SELECTolma ihtimalinin olmadığını düşünüyorum. Oranlar aşırı derecede aleyhime olsa bile buna seve seve bahse girerimBirkaç yıl önce bu oyunu oynamıştım
Birleşik Krallık’ta Britanyalı bir babadan doğmuş olmasına rağmen karakterim daha önce Britanyalı değildi. Çünkü ebeveynleri evli değildi ve 1983’ten sonra, ama 2006’daki kural değişikliğinden önce doğmuştu
Tam zamanı konusunda emin değilim ama 2010’ların bir döneminde 2006 güncellemesi geriye dönük uygulanmış ve karakterim de oynanabilir hale gelmiş gibi görünüyor. Çok fazla yan görev yapmadım; en önemlisi babamın doğum belgesini bulmaktı
Karakterim de oyunun sonundaki törene katılıp Kraliçe’ye bağlılık yemini etmek zorunda kaldı; bu ülkede doğup tüm hayatını burada geçirmiş biri için tuhaf hissettirdi