Haskell से UK ‘Passport Application’ समस्या हल करना
(jameshaydon.github.io)- UK पासपोर्ट आवेदन प्रक्रिया को नौकरशाही दस्तावेज़-इकट्ठा करने वाली पहेली मानते हुए, राष्ट्रीयता साबित करने के लिए ज़रूरी दस्तावेज़ों के संयोजन को Haskell logic search से निकालने का मामला
- HMPO की दस्तावेज़ मांगें आवेदक, माता-पिता और दादा-दादी/नाना-नानी के जन्मस्थान व जन्मतिथि, माता-पिता की राष्ट्रीयता व settled status, और वैवाहिक स्थिति के आधार पर family tree की दिशा में recursive हो सकती हैं
- विदेश में जन्मे बच्चे के पहले पासपोर्ट आवेदन में परदादा के birth certificate और marriage certificate तक मांगे गए, और recursion तभी रुका जब 1983 से पहले UK में जन्म जैसे base case तक पहुंचा
- implementation ने Prolog के बजाय Haskell के LogicT और
StateT Claims IOसे संभावित राष्ट्रीयता proofProofenumerate किए, और हर path के लिए ज़रूरीSet Documentनिकाला - एक ही आवेदन के लिए कई proof paths संभव हैं; सरल path मौजूद होने पर भी वास्तविक request लंबी हो सकती है, और automation दस्तावेज़ तैयार करने व request की वजह समझने में मदद कर सकता है
Passport Application को दस्तावेज़-इकट्ठा करने वाले game की तरह देखना
- UK का Passport Application HMPO द्वारा चलाया जाने वाला online आवेदन process है, और standard online version की शुरुआती लागत करीब £100 है
- लक्ष्य अलग-अलग नौकरशाही संस्थाओं में बिखरे original documents इकट्ठा करके “आवेदक British है” इस proposition को साबित करना है
- अंतिम reward एक छोटी booklet है जिस पर दोबारा आवेदन कर सकने की तारीख लिखी होती है—यानी passport
- paper-based आवेदन डाक पर निर्भर “hardcore” version जैसा है
वास्तविक आवेदन में जारी रहीं दस्तावेज़ requests
- मामला बेटी की ओर से online “first child passport born abroad” difficulty चुनकर किए गए आवेदन का है
- आवेदन को “examiner” process करता है, लेकिन आवेदक chat या phone के advice agent के जरिए ही सवाल पूछ सकता है
- advice agent की guidance official decision नहीं होती
- examiner तक सवाल पहुंचाने पर कई दिन, इस मामले में अधिकतम करीब 10 दिन, waiting time बन जाता है
- शुरुआती document requests में से लगभग 50% के बारे में chat service ने बताया कि वे अनावश्यक हैं, फिर भी बाद में additional document requests जारी रहीं
- request email में टूटे template जैसा दिखने वाला
__APPLICANT_NAME__शामिल था, और parental responsibility proof की condition भी स्पष्ट नहीं थी - अंत में एक दुर्लभ request आई: paternal great-grandfather का birth certificate और marriage certificate
- “applicant's Paternal great grandfather” दो लोगों में से किसे कहा जा रहा है, यह अस्पष्ट हो सकता है
- इसे
applicant's father's father's father's birth certificateके रूप में interpret किया गया
HMPO logic को recursive proof problem के रूप में समझना
- HMPO का logic document-based Bureaucratic Logic माना जा सकता है
- Constructive Logic की तरह सिर्फ logical possibility पर्याप्त नहीं है
- proof के लिए original documents जैसे “witness” चाहिए
- law of excluded middle
P ∨ ¬Pको सीधे इस्तेमाल नहीं किया जा सकता- उदाहरण के लिए, “पिता के पिता UK में जन्मे थे या नहीं” में से एक तो सच होगा, ऐसा कहकर दोनों scenarios के documents जमा करने का तरीका स्वीकार्य नहीं है
- एक alternative चुनकर उसी के अनुरूप documents submit करने होते हैं
- HMPO guidance के अनुसार 31 दिसंबर 1982 के बाद UK के बाहर जन्मे व्यक्ति आम तौर पर तभी British citizen बनते हैं जब जन्म के समय माता-पिता में से कोई एक “British citizen otherwise than by descent” हो
- HMPO अपने passport records से ही Britishness साबित नहीं करता, इसलिए कुछ applications में माता-पिता और grandparents की दिशा में recursive document requests पैदा होती हैं
- recursion ऐसे ancestor पर रुकता है जिसकी Britishness माता-पिता पर निर्भर नहीं होती
- जैसे: naturalized व्यक्ति
- जैसे: 1983 से पहले UK में जन्मा व्यक्ति, जो माता-पिता से स्वतंत्र British होने का base case है
इस मामले की request chain
- HMPO को initial documents मिलने की तारीख 7 जून थी, जिनमें आवेदक का birth certificate और आवेदक के पिता का birth certificate शामिल था
- 12 जून की request:
- बताया गया कि आवेदक के पिता का जन्म 1 जनवरी 1983 के बाद हुआ था, इसलिए पिता के British citizenship claim का evidence चाहिए
- नतीजे में पिता के पिता का birth certificate मांगा गया
- 26 जून की request:
- बताया गया कि आवेदक के grandfather का जन्म abroad हुआ था, इसलिए British citizenship claim का evidence चाहिए
- इसके तहत आवेदक के paternal great-grandfather के documents मांगे गए
- ज़रूरी documents birth certificate और marriage certificate थे
- यह recursion email request के रूप में चलता रहा
Haskell implementation structure
- पूरा code GitHub पर है
- शुरुआत में rules को Prolog में encode किया गया, फिर Haskell के
LogicTmonad पर switch किया गया - लक्ष्य एक single document list नहीं, बल्कि कई संभावित document sets खोजना है
- राष्ट्रीयता claim करने के कई तरीके हैं, इसलिए ज़रूरी document sets भी कई हो सकते हैं
- conceptually
Set (Set Document)चाहिए
- document model में applicant और ancestors, certificate types को type के रूप में express किया गया
Parent = Mother | FatherPerson = Applicant | Parent Parent PersonDocument = BirthCertificate Person | MarriageCertificate Person Person | NaturalizationCertificate Person | Passport Person
- सिर्फ simple document list से यह समझना मुश्किल है कि वह पर्याप्त क्यों है, इसलिए समस्या को proof search की तरह handle किया गया
LogicTसे applicant की Britishness के सभीProofenumerate किए गए- हर
Proofके लिए ज़रूरी document set calculate किया गया
Proof और knowledge state
- proof type तीन forms से बना है
ViaParent Person Proof: parent के जरिए Britishness derive होनाAnd Proof Proof: दो claims का combinationEvidence Predicate: basic evidence
- ज़रूरी सवाल runtime पर user से पूछे जाते हैं, और पहले दिए गए answers सभी branches व backtracking में reuse होते हैं
- इसके लिए
IO,State,LogicTको combine किया गयाtype Claims = Map Predicate Knowledgetype M a = LogicT (StateT Claims IO) a
KnowledgeकोSureYes,SureNo,Unsureमें बांटा गया हैPredicaterules की judgement के लिए ज़रूरी conditions दिखाता हैIsBritish PersonSettled PersonBornBefore Int PersonBornInUK PersonBornAfter Int PersonNaturalized PersonYears3LivingInUK PersonIsBritOtbd PersonMarried Person Person
nationality judgement rules का core
britfunction यह judge करने वाला root function है कि कोई व्यक्ति British है या नहीं- पहले
IsBritish pcheck करता है - birth-based Britishness और naturalization-based Britishness explore करता है
- पहले
- naturalization एक simple path है, और naturalization certificate मुख्य document बनता है
- UK-born लोगों को broadly दो cases में बांटा गया है
- 1983 से पहले UK में जन्म हो तो base case के रूप में Britishness मिलती है
- उसके बाद जन्म हो तो माता-पिता में से कोई एक British था या उस समय settled status में था, यह check होता है
- UK के बाहर जन्मे case ज्यादा complex हैं
- check होता है कि parent British otherwise than by descent है या नहीं
- या parent British है और UK में 3 साल लगातार रहने का evidence है या नहीं
- “British otherwise than by descent” का मतलब वह व्यक्ति जो केवल parent से Britishness पाने वाला न हो
- जैसे: naturalization
- जैसे: UK birth
- जैसे: abroad birth, लेकिन parent “Crown Service” में काम कर रहा था
parent के जरिए propagation और 2006 की condition
viaParentउस case को express करता है जिसमें child को parent के जरिए Britishness मिलती है- mother और father दोनों paths explore किए जाते हैं, लेकिन father path पर extra condition लगती है
- child का जन्म 2006 के बाद हुआ हो तो father path सीधे use किया जा सकता है
- 2006 से पहले जन्म हो तो check होता है कि जन्म के समय father और mother married थे या नहीं
- implementation में “registration” जैसे bypassable paths और कुछ sexist historical provisions शामिल नहीं हैं
- जो law अभी लागू नहीं हैं, वे भी ancestor की Britishness judge करते समय historical रूप से लागू हो सकते हैं
run result और तीन proof paths
run (brit Applicant)execution interactive questions के साथ आगे बढ़ता है- जैसे: applicant UK-born है या नहीं
- जैसे: father British otherwise than by descent है या नहीं
- जैसे: grandparents settled status में थे या नहीं
- इस case में कुल 37 questions पूछे गए
- user
dkसे “पता नहीं” जवाब दे सकता है, तब वह branch explore होती रहती है - result बताता है कि applicant के पास 3 Britishness proofs हैं
- Proof 1:
- applicant का जन्म 2006 के बाद हुआ
- father के जरिए Britishness
- father UK-born है
- father की mother जन्म के समय settled status में थीं
- ज़रूरी documents: applicant birth certificate, father birth certificate, father की mother के settled status का document
- Proof 2:
- father के father की mother 1983 से पहले UK-born थीं—यह path
- ज़रूरी documents में applicant, father, grandfather, grandfather की mother के birth certificates और grandparents का marriage certificate शामिल हैं
- Proof 3:
- father के father के father, यानी paternal great-grandfather, 1983 से पहले UK-born थे—यह path
- ज़रूरी documents में applicant, father, grandfather, paternal great-grandfather के birth certificates और दो generations के marriage certificates शामिल हैं
- HMPO द्वारा मांगा गया
Birth certificate for Applicant's Father's Father's Fatherइसी path में दिखता है
Crown Service और अधिक complex paths
- इस case में paternal great-grandfather का Crown Service status confusion पैदा कर रहा था, लेकिन execution result के हिसाब से वह status ज़रूरी नहीं था
- father का British otherwise than by descent status UK birth और grandfather की simple Britishness से पहले ही derive हो गया
- हालांकि grandfather की simple Britishness फिर भी prove करनी होती है, इसलिए recursion grandfather generation तक नीचे जाता है
- grandfather की “legitimacy” साबित करने के लिए marriage certificate भी चाहिए
- HMPO ने तीनों में सबसे लंबा और complex path, Proof 3, चुना
- Proof 1 एक simple path है जिसमें सिर्फ एक ancestor का settled status prove करना है
- non-British settled ancestor के जरिए citizenship non-recursive होती है, इसलिए simpler हो सकती है
- हालांकि किसी specific time पर settled status prove करना अपने आप में मुश्किल हो सकता है
implementation limits और automation पर judgement
orElseमें first branch सफल होने पर second branch explore नहीं होती, लेकिन<|>दोनों branches explore करता है- कुछ rules में
<|>इस्तेमाल करने से अधिक citizenship proof paths मिलते हैं, लेकिन HMPO कभी-कभी पहले किसी specific path को exhaust करना चाहता है ऐसा लगता है - implementation किसी specific point in time की conditions को पर्याप्त precision से track नहीं करता
- जैसे: marriage status या settled status किसी specific व्यक्ति के जन्म के समय होना चाहिए
- इसे जोड़ना बहुत कठिन नहीं माना गया
- यह पूरे UK nationality law का implementation नहीं है; सिर्फ इस case से जुड़े या interesting parts encode किए गए हैं
- full implementation में कहीं ज्यादा code और कई exceptions चाहिए होंगी
- ऐसा software होता तो सही document set जल्दी तैयार करने और request जटिल क्यों हुई, यह समझने में उपयोगी हो सकता था
- full automation में risk भी हैं
- program false positive दे तो “computer ने कहा था कि हो जाएगा” जैसी शिकायत आ सकती है
- human expertise को replace करने वाली automation “computer ने मना किया” के आधार पर citizenship denied होने की स्थिति बना सकती है
- current application अभी खत्म नहीं हुई है, और plan है कि Proof 2 और Proof 3 को साथ-साथ आगे बढ़ाया जाए; असफल होने पर Proof 1 try किया जाएगा
1 टिप्पणियां
Hacker News की राय
पिछले 10 वर्षों में मैंने कई बड़े UK government systems पर काम किया है, और यह लेख अच्छी तरह दिखाता है कि government services/software बनाते समय अजीब नतीजे क्यों निकलते हैं
Government software मूल रूप से सैकड़ों वर्षों के parliamentary laws को code में बदलने का काम है। अगर HMPO passport system बना दिया गया और जिस कानून पर वह आधारित है वह बदल जाए या रद्द हो जाए, तो किसी को सभी systems में जाकर उस कानून से प्रभावित हिस्सों को ढूंढकर ठीक करना पड़ता है
इसके ऊपर, सरकार अक्सर महंगी consulting firms को outsource करती है, और firms के पास contracts बढ़ाने, client से अधिकतम value निकालने और अपनी जगह मजबूत करने की प्रेरणा होती है। Quality और flexibility में असमान systems बनते हैं, इसलिए कानून बदलते ही वही प्रक्रिया दोहराई जाती है
पहले Spend Controls जैसी central decision-making authority थी, लेकिन अब इस समस्या को coordinate करने वाला कोई केंद्र नहीं है, और इसी वजह से government services deliver करने की लागत इतनी महंगी हो जाती है
असल में वे चलने के करीब की कोई चीज बनाते हैं, और जिस deliverable को एक junior developer शायद 3 महीनों में बना दे, उसके लिए लगभग 1000 गुना ज्यादा bill करते हैं, लेकिन ऐसा लगता है कि उन्हें पैसे ऐसे मिलते हैं जैसे system सच में काम कर रहा हो
Form follow करना आसान था, फिर प्रक्रिया पूरी करने के लिए एक बार office जाना पड़ा, जिसमें सिर्फ 10 मिनट लगे, और passport deliver हो गया। मुझे लगा यह प्रक्रिया जितनी कम तकलीफदेह हो सकती थी, उतनी थी
UK की स्थिति चाहे जैसी हो, यह निराशाजनक नहीं है। सरकार को actual employees hire करने से डरना नहीं चाहिए और development को पूरी तरह in-house करना चाहिए
जैसा बताया गया, technical work पूरी तरह outsourced है, इसलिए ऐसे काफी revolutionary redesign की कल्पना और execution करने की organizational internal capability की कमी भी gap का हिस्सा लगती है
यह बहुत frustrate करने वाला है कि सरकार IT projects पर contractors की fees में करोड़ों खर्च करती है, फिर भी लंबे समय में सस्ते पड़ सकने वाले in-house engineers को market rate नहीं दे पाती
अच्छा होगा अगर ऐसा system हो जिसमें जगह-जगह exception conditions बिखेरने के बजाय append-only तरीके से सिर्फ “patches” apply करने पड़ें
कुछ logic programming languages यह कुछ हद तक कर सकती हैं, लेकिन असली समस्या शायद यह है कि technical debt budget नहीं है, और कानून संभालने वाले lawyers भी complexity से फायदा उठा सकते हैं। काश ऐसे लोग हों जिनका काम ही laws को यथासंभव simple बनाए रखना हो
Haskell syntax दिलचस्प है। कोई समझा दे तो intuitive लगता है, लेकिन समझाने से पहले उतना intuitive नहीं होता
मुझे नहीं लगता कि यह सिर्फ इसलिए है कि मैं Algol-family languages (C, Python आदि) से परिचित हूं। अब तक मैंने जो Haskell code देखा है उसमें code को concise बनाने के लिए बहुत ज्यादा operators हैं, और सिर्फ देखकर साफ नहीं होता कि वे क्या कर रहे हैं: https://academy.fpblock.com/haskell/tutorial/operators/
यह काफी पहले की बात है, इसलिए दोबारा नहीं करना चाहता, लेकिन JavaScript के पक्ष में उदार अनुमान लगाएं तो भी practical Haskell के लिए जरूरी operators practical JavaScript के 10 गुना नहीं, लगभग 2 गुना हैं
Haskell में शुरुआत में सहनी पड़ने वाली incidental complexity है, लेकिन यह popular beginner languages से kind में अलग नहीं, बल्कि degree में अलग है। Algol-style languages के बारे में हमने कितना कुछ सीखा है, यह इतना internalize हो चुका है कि भूलना आसान है
मैंने programming में नए middle/high school students को Java और Python पढ़ाया है, और खासकर 1:1 में वे अक्सर उन चीजों पर अटकते थे जिनके लिए मुझे समझाना पड़ेगा, यह बात भी मैं भूल चुका था। जैसे Python में
:की position गलत रखना या यह न समझना कि=कैसे काम करता है:और=जैसी “basic” syntax भी हमारी सोच से कहीं ज्यादा complex है। यह वैसा है जैसे native English speaker “big red ball” और “red big ball” में adjective order rules को consciously notice नहीं करता, लेकिन learner के लिए वही दीवार बनकर सामने आता हैProgramming न जानते हुए अगर कोई arbitrary Java program उठा लें, तो वह भी लगभग समझ में नहीं आएगा। Math class बिल्कुल न लिए बिना formula पढ़ने की कोशिश करें, तो operators हों या कुछ और, कुछ समझ में नहीं आएगा
معيار यह होना चाहिए कि basics सीखने और कुछ tutorials करने के बाद कितना समझ सकते हैं
Intuitive का मतलब आम तौर पर बिना prior knowledge या explanation के भी आसानी से समझना या सीख पाना होता है
शिकायत जिस चीज से है, वह वास्तव में syntax भी नहीं लगती। Haskell के कुछ components monads या lenses जैसे specific models को refer करते हैं, और अगर reader के पास वह knowledge पहले से नहीं है, तो कोई भी syntax वह knowledge उसके दिमाग में नहीं डाल सकती
यह लेख अच्छा लगा। शुरुआत में यह parody जैसा शुरू हुआ, फिर धीरे-धीरे उस “game” के लिए एक गंभीर और elegant solution में बदल गया
अंत तक आते-आते मेरा भी खुद try करने का मन होने लगा
UK पासपोर्ट आवेदन, जरूरी दस्तावेज़ HMPO को डाक से भेजने के अलावा, पूरी तरह online पूरा किया जा सकता है
गोद लेने, naturalisation या वंश के आधार पर “नए” नागरिक बने लोगों के लिए भी, UK के बाहर से सिर्फ mobile device पर, अलग app download किए बिना फोटो खींचने समेत नए पासपोर्ट के लिए आवेदन किया जा सकता है
मज़ाक में कागज़ और पेन से “hard mode” खेला जा सकता है, लेकिन मेरा अनुभव बहुत efficient, तेज़ और सरल था
पुराने computer और “प्राचीन” browser पर भी बिल्कुल ठीक काम किया, और रंग, text, buttons, input fields, requirements—सब कुछ सरल, accessible और स्पष्ट था। step-by-step navigation भी सरल था और वाकई मददगार था
अफसोस है कि ज़्यादा कंपनियाँ ग्राहकों की इतनी परवाह करके ऐसे well-designed websites में निवेश नहीं करतीं। HMPO ने अच्छा काम किया
तुलना के लिए, California से Canada passport renew करते समय 3 साल में damage हुआ passport था और 4 महीने लगे थे। वह पूरी तरह paper-based था और referrer व photographer की मुहर लगी photo जैसी बेतुकी शर्तें थीं
मुझे पता है कि digital pilot चल रहा है, इसे जितनी जल्दी हो सके पूरी तरह लागू करना चाहिए
face-to-face interview चाहिए होता है, और ऐसे responsible person के signature भी चाहिए होते हैं जिन तक बहुत लोगों की पहुँच नहीं होती। उदाहरण के लिए doctor मान्य नहीं है
Japan में यह प्रक्रिया करने वालों के लिए, मुझे ये दस्तावेज़ जमा करने पड़े थे। हालात के हिसाब से अलग होगा, और खासकर लेखक भी शायद UK के बाहर पैदा हुए लगते हैं, इसलिए उन्हें अलग या ज़्यादा दस्तावेज़ चाहिए रहे होंगे
मैंने UK General Register Office से order की गई birth certificate की certified copy, Japan family register का original और translation, birth registration acceptance certificate का original और translation, marriage certificate का original और translation, बच्चे के Japan passport के सभी pages की colour copies, और यह confirm करने वाले US या UK citizen के passport की copy जमा की कि बच्चा मेरा ही है
प्रक्रिया काफ़ी अस्पष्ट है, और मोटे तौर पर ऐसा लगता है कि officer संतुष्ट होने तक documents जमा कराते रहने की संरचना है
applicant's father, यानी मैं, UK में पैदा हुआ था, लेकिनapplicant's father's fatherUK में पैदा नहीं हुए थे, और यही अतिरिक्त जटिलता की वजह बनामैं British हूँ, पत्नी Hungarian है और हम Hungary में रहते हैं; हमसे दोनों parents के birth certificates और चारों grandparents के birth certificates माँगे गए
पत्नी अपने पिता के संपर्क में नहीं है, इसलिए स्थिति समझाने वाला cover letter देना पड़ा, और वह स्वीकार कर लिया गया। हालांकि मेरे बेटे की British nationality तो वैसे भी मेरी British nationality से आती है, इसलिए पत्नी की nationality और उसके parents की nationality क्यों relevant हैं, यह मुझे ठीक से समझ नहीं आता
किसी और के passport की copy की जरूरत नहीं पड़ी, लेकिन एक family friend को online confirm करना पड़ा। वह family friend UK का solicitor था, इसलिए approved professions की सूची में था
US में पैदा हुई बेटी की वजह से मुझे MN1 application करना पड़ा। वजह यह थी कि मैं और मेरा spouse दोनों overseas-born हैं
मूल पोस्ट जैसे इशारा करती है, यह “registration” नाम की एक तरह की side quest है, और बच्चे के 18 साल का होने से पहले न किया जाए तो deadline निकल जाती है। बेशक मुझे पता है कि ऐसी स्थिति में भी citizenship पाने के रास्ते अभी मौजूद हैं
प्रक्रिया का सबसे कठिन हिस्सा, जिसे इस version के Passport Application में cover नहीं किया गया था लेकिन शायद future DLC pack में आए, मेरे evidence documents को certify करने वाला व्यक्ति ढूँढना था। original जमा करने को कहा जाता है, लेकिन वे passport समेत documents 3–6 महीने तक रखते हैं, इसलिए overseas residents के लिए यह अव्यावहारिक है
exact rules याद नहीं हैं, लेकिन US notary या आम lawyer certification process इस्तेमाल नहीं कर सकते थे, और अंत में borough office जाना पड़ा
करीब पाँच borough offices को फोन किया, सभी ने कहा कि उन्हें process या requirements नहीं पता; आखिरकार Islington Council में एक बेहद helpful व्यक्ति मिला। फिर भी UK government के साथ मेरे interactions में यह अधिक frustrating वालों में था
मैंने भी proxy के तौर पर Passport Application game का आनंद लिया है
मूल पोस्ट ने जिस दिलचस्प rule का ज़िक्र नहीं किया, उनमें से एक variable history rule है। किसी document में दर्ज facts थोड़े समय में भी बदल सकते हैं, इसलिए examiner के fact record system में पहले से scan हो चुका document बाद में फिर scan करने के लिए वापस भेजना पड़ सकता है
लोग कहते हैं कि documents के facts बदले नहीं हैं, यह verify करना examiner जाति द्वारा multiverse के अस्तित्व को implicit रूप से मान लेने जैसा है
“NPC” phone advisors और examiners के बीच communication channel प्रार्थना जैसा लगता है, और वास्तव में आपको जो मिलता है वह अस्पष्ट inference ही होता है
वैसे मूल लेखक शायद Mornington Crescent का शौकीन हो सकता है। यह पहले बताए Passport Application और rule topology में मिलता-जुलता game है
birth certificate भी एक मायने में immutable है, लेकिन उसमें लिखी हर चीज़ पूरी तरह immutable नहीं होती
ऊपर से passport office मेरे previous passport से जुड़े उस decision को भूल गया था जिसमें इस surname mismatch को explain करके आगे बढ़ा दिया गया था। यहाँ तक कि एक passport में मैं मेरी mother के passport के एक page पर दर्ज था
NPCs सच में गुस्सा दिलाते हैं। हर phone call और email पर जवाब अलग होता था। किसी घटिया large language model जैसा
application के बाद mother को समझाना पड़ा कि applications के उसी bundle में एक बेटी को अतिरिक्त British documents चाहिए हैं, लेकिन दूसरी बेटी को नहीं और उसका passport जारी हो गया है। सिर्फ इसलिए कि एक UK में पैदा हुई थी और दूसरी नहीं
mother स्वाभाविक रूप से फट पड़ीं, उन्होंने MP के सामने मामला उठाया, और एक दिन में हल हो गया
अपनी बेटियों में से एक के लिए मैं अभी-अभी यह नरक जैसी प्रक्रिया झेलकर आया हूँ। बेटी Japan में पैदा हुई थी, और मेरे birth certificate पर लिखे नाम से mother का surname match कराने में बहुत जूझना पड़ा
संक्षेप में, मैंने साबित कर दिया कि मैं England में पैदा हुआ और मेरे पास citizenship, यानी passport है, तो किसी भी संभावना से देखें तो वह status बेटी को pass हो सकने वाला होना चाहिए था। यह required documents guidelines से मेल नहीं खाता, लेकिन मुझे यह कहीं कम दर्दनाक तरीका लगता है
“बेस केस क्या है? बेस केस वह पूर्वज है जिसकी British status माता-पिता पर निर्भर नहीं करती, जैसे कोई naturalized व्यक्ति या 1983 से पहले UK में जन्मा व्यक्ति। 1983 से भविष्य की ओर जितना दूर जाते हैं, यह call stack उतना ही गहरा होता जाता है” वाला हिस्सा, किसी ऐसे देश से आए व्यक्ति के नज़रिए से पागलपन जैसा लगता है जहाँ नागरिकों और विदेशी निवासियों का central database है और citizenship check SQL table में एक single
SELECTजितना होता हैविदेश में जन्मे लोग भी अक्सर नागरिक होते हैं, और UK ने नागरिकता को प्रभावित करने वाले territorial changes बेहिसाब झेले हैं
मौजूदा नागरिकों में कुछ को citizenship इसलिए है क्योंकि वे Bombay, यानी Mumbai में जन्मे थे, और कुछ दूसरे लोगों को इसलिए है क्योंकि वे Hong Kong में जन्मे थे
नागरिकों की भरोसेमंद सूची बनाए रखने के लिए regular registration चाहिए, और register न करने पर citizenship खोनी पड़नी चाहिए
SELECTहोने की कोई संभावना है। odds मेरे खिलाफ बेहद खराब हों तब भी मैं इस पर शर्त लगाने को तैयार हूँकुछ साल पहले मैंने यह game खेला था
UK में British पिता से जन्म होने के बावजूद, मेरा character पहले British नहीं था। वजह यह थी कि माता-पिता की शादी नहीं हुई थी, और जन्म 1983 के बाद लेकिन 2006 के rule change से पहले हुआ था
exact समय पक्का नहीं है, लेकिन लगता है 2010s में किसी समय 2006 update को retrospective तौर पर लागू किया गया और मेरा character भी playable हो गया। मैंने side quests ज़्यादा नहीं किए; मुख्य काम पिता का birth certificate ढूँढना था
मेरे character को भी endgame ceremony में शामिल होकर Queen के प्रति allegiance की शपथ लेनी पड़ी, जो इस देश में जन्मे और पूरी ज़िंदगी यहीं रहे व्यक्ति के लिए अजीब लगा