English
What This Project Is
Praying Project is a bilingual Greek/English prayer repository built around fixed counts of 33.
The supplied Orthodox prayers are divided across exactly 33 Befunge files for Greek and exactly 33 Befunge files for English. Each stored prayer payload is protected by 33 nested Base85 encoding layers.
The project does not keep the reconstructed prayers permanently visible in the repository root. On the configured prayer days, GitHub Actions reconstructs them temporarily and later removes the generated files.
The 33 × 33 Structure
- 2 language folders:
Greek/andEnglish/. - Exactly 33
.befungefiles per language. - Exactly 33 Base85 encoding layers per payload.
- Exactly 33 decoding rounds are required before construction can begin.
- Exactly 33 reconstruction passes per prayer cycle.
- Exactly 33 generated root files:
README_1.mdthroughREADME_33.md. - The generated files remain published for a target interval of exactly 33 minutes before the prepared deletion is pushed.
- The permanent
README.mdyou are reading is never part of the temporary cleanup.
Worldwide 03:00 Scheduling
The project has no single fixed country timezone.
Every global selection day, it chooses one country from an embedded list of exactly 195 countries. Selection uses a randomized deck: every country is selected once before the full deck is shuffled again. This keeps every country eligible, including the smallest states.
For the selected country, the project uses the IANA timezone of its capital. The prayer cycle targets 03:00 local capital time on:
- Sunday
- Wednesday
- Friday
The lightweight scheduler checks every 15 minutes in UTC so it can support capitals whose civil offsets include :00, :30, or :45 minutes. The actual prayer reconstruction only proceeds when the selected capital reaches its target local time and weekday.
The selection-day boundary is 12:00 UTC. This is intentional: it gives every civil timezone from UTC−12 through UTC+14 a chance to reach its next local 03:00 within the same 24-hour selection period.
Country Coverage
Country data is stored locally in data/countries.json so the workflow does not need to call an external country API during normal operation.
The list contains exactly 195 countries, and every entry stores:
- ISO alpha-2 code
- Country name
- Capital
- Capital IANA timezone
Examples of very small states that are explicitly included are Vatican City, Nauru, Tuvalu, Monaco, San Marino, and Liechtenstein.
Workflow Sequence
- Check the current worldwide selection period.
- Select a country if a new daily period has started.
- Use the selected capital's IANA timezone to calculate its real local 03:00.
- Continue only when the local day is Sunday, Wednesday, or Friday and that 03:00 target is due.
- Read the 33 Greek and 33 English Befunge source files.
- Decode every source payload through exactly 33 sequential Base85 layers.
- Repeat the reconstruction process exactly 33 times.
- Create
README_1.mdthroughREADME_33.mdin the repository root. - Publish the 33 generated files.
- Prepare their deletion locally.
- Keep the published set for the 33-minute target interval.
- Push the prepared deletion while preserving this permanent
README.md.
Manual Validation
Validate the worldwide country data:
python scripts/select_country.py validateInspect the current selection and scheduling decision:
python scripts/select_country.py checkVerify the encoded prayer source integrity:
python scripts/reconstruct.py verifyGenerate all 33 temporary prayer READMEs locally:
python scripts/reconstruct.py generateRemove only the temporary README_1.md through README_33.md files:
python scripts/reconstruct.py cleanupΕλληνικά
Τι Είναι Αυτό Το Project
Το Praying Project είναι ένα δίγλωσσο Ελληνικό/Αγγλικό repository προσευχών, δομημένο γύρω από σταθερούς αριθμούς 33.
Οι Ορθόδοξες προσευχές που δόθηκαν στο project χωρίζονται σε ακριβώς 33 αρχεία Befunge για τα Ελληνικά και ακριβώς 33 αρχεία Befunge για τα Αγγλικά. Κάθε αποθηκευμένο τμήμα προσευχής προστατεύεται από 33 διαδοχικά επίπεδα κωδικοποίησης Base85.
Οι ανακατασκευασμένες προσευχές δεν παραμένουν μόνιμα ορατές στη ρίζα του repository. Τις καθορισμένες ημέρες προσευχής, το GitHub Actions τις ανακατασκευάζει προσωρινά και αργότερα διαγράφει τα παραγόμενα αρχεία.
Η Δομή 33 × 33
- 2 φάκελοι γλωσσών:
Greek/καιEnglish/. - Ακριβώς 33 αρχεία
.befungeανά γλώσσα. - Ακριβώς 33 επίπεδα Base85 ανά payload.
- Απαιτούνται ακριβώς 33 γύροι αποκωδικοποίησης πριν ξεκινήσει η ανακατασκευή.
- Ακριβώς 33 ανακατασκευές σε κάθε κύκλο προσευχής.
- Ακριβώς 33 προσωρινά αρχεία στη ρίζα:
README_1.mdέωςREADME_33.md. - Τα παραγόμενα αρχεία παραμένουν δημοσιευμένα για στόχο ακριβώς 33 λεπτών πριν γίνει push η ήδη προετοιμασμένη διαγραφή τους.
- Το μόνιμο
README.mdπου διαβάζεις δεν συμμετέχει ποτέ στην προσωρινή διαγραφή.
Παγκόσμιο Πρόγραμμα Στις 03:00
Το project δεν χρησιμοποιεί μία σταθερή ζώνη ώρας ή μία συγκεκριμένη χώρα.
Κάθε παγκόσμια ημέρα επιλογής επιλέγει μία χώρα από ενσωματωμένη λίστα ακριβώς 195 χωρών. Η επιλογή γίνεται με τυχαία ανακατεμένη «τράπουλα»: κάθε χώρα επιλέγεται μία φορά πριν ανακατευτούν ξανά και οι 195. Έτσι συμπεριλαμβάνονται όλες οι χώρες, ακόμα και οι μικρότερες.
Για την επιλεγμένη χώρα χρησιμοποιείται η IANA ζώνη ώρας της πρωτεύουσάς της. Ο κύκλος προσευχής στοχεύει στις 03:00 τοπική ώρα της πρωτεύουσας τις ημέρες:
- Κυριακή
- Τετάρτη
- Παρασκευή
Ο ελαφρύς scheduler ελέγχει ανά 15 λεπτά σε UTC ώστε να καλύπτει και ζώνες ώρας με απόκλιση :00, :30 ή :45. Η πραγματική ανακατασκευή εκτελείται μόνο όταν η επιλεγμένη πρωτεύουσα φτάσει στη σωστή τοπική ώρα και ημέρα.
Το όριο κάθε ημέρας επιλογής είναι στις 12:00 UTC. Αυτό επιτρέπει σε κάθε πολιτική ζώνη ώρας από UTC−12 έως UTC+14 να φτάσει στο επόμενο τοπικό 03:00 μέσα στο ίδιο 24ωρο παράθυρο επιλογής.
Κάλυψη Χωρών
Τα δεδομένα χωρών βρίσκονται τοπικά στο data/countries.json, ώστε το workflow να μη χρειάζεται εξωτερικό API χωρών κατά την κανονική λειτουργία.
Η λίστα περιέχει ακριβώς 195 χώρες και κάθε εγγραφή περιλαμβάνει:
- ISO alpha-2 κωδικό
- Όνομα χώρας
- Πρωτεύουσα
- IANA ζώνη ώρας της πρωτεύουσας
Στις πολύ μικρές χώρες που περιλαμβάνονται ρητά είναι το Βατικανό, το Ναουρού, το Τουβαλού, το Μονακό, ο Άγιος Μαρίνος και το Λιχτενστάιν.
Σειρά Εκτέλεσης Του Workflow
- Ελέγχει την τρέχουσα παγκόσμια περίοδο επιλογής.
- Επιλέγει χώρα όταν ξεκινήσει νέα ημερήσια περίοδος.
- Χρησιμοποιεί την IANA ζώνη ώρας της πρωτεύουσας για να υπολογίσει το πραγματικό τοπικό 03:00.
- Συνεχίζει μόνο αν η τοπική ημέρα είναι Κυριακή, Τετάρτη ή Παρασκευή και έχει φτάσει το 03:00.
- Διαβάζει τα 33 Ελληνικά και τα 33 Αγγλικά αρχεία Befunge.
- Αποκωδικοποιεί κάθε payload μέσα από ακριβώς 33 διαδοχικά επίπεδα Base85.
- Επαναλαμβάνει την ανακατασκευή ακριβώς 33 φορές.
- Δημιουργεί τα
README_1.mdέωςREADME_33.mdστη ρίζα του repository. - Δημοσιεύει και τα 33 παραγόμενα αρχεία.
- Προετοιμάζει τοπικά τη διαγραφή τους.
- Διατηρεί το δημοσιευμένο σύνολο για το χρονικό στόχο των 33 λεπτών.
- Κάνει push την προετοιμασμένη διαγραφή χωρίς να επηρεάζει το μόνιμο
README.md.
Χειροκίνητος Έλεγχος
Έλεγχος των παγκόσμιων δεδομένων χωρών:
python scripts/select_country.py validateΠροβολή της τρέχουσας επιλογής χώρας και της απόφασης προγραμματισμού:
python scripts/select_country.py checkΈλεγχος ακεραιότητας των κωδικοποιημένων προσευχών:
python scripts/reconstruct.py verifyΔημιουργία και των 33 προσωρινών README τοπικά:
python scripts/reconstruct.py generateΔιαγραφή μόνο των προσωρινών README_1.md έως README_33.md:
python scripts/reconstruct.py cleanup