Pythefnos Calendar
Arvelie is a calendar system used by Devine Lu Linvega. Pythefnos is a modified version of Arvelie that maps the syntax to monday-starting weeks in the Gregorian calendar.
Pythefnos is a calendar measuring 26 alphabetically numbered Fortnights starting the Monday of the 52nd week of the Greogrian year. Numbering of the Fortnight days begins with 0 (First Monday) to F (Second Sunday). This is done by counting 0 - 6 for the first week of the fortnight and A - F for the second week of the fortnight:
Decimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fortnight | 0 | 1 | 2 | 3 | 4 | 5 | 6 | A | B | C | D | E | F | G |
Note: A previous incarnation of this system used base 10 for the fortnight position.
Year 0 is 2000, to make converting to Gregorian easier.
Examples
Pythefnos | Gregorian | Note |
---|---|---|
21P0 | July 26, 2021 | First Monday of Fortnight P |
21PD | August 6, 2021 | Second Friday of Fortnight P |
21PD | August 8, 2021 | Last Sunday of Fortnight P |
21ZD | December 26, 2021 | Last day of the Year |
22A0 | December 27, 2021 | First day of the New Year |
When refering to a Fortnight alone, we can shorten it to the first three characters: 21A, 21P, etc.
Gregorian to Pythefnos Using Python
We can convert any date to a Pythefnos formatted date via the following Python snippet:
#!/usr/local/bin/python3
from sys import argv
from datetime import date
year, week, weekday = date(int(argv[1]), int(argv[2]), int(argv[3])).isocalendar()
year = str(year - 2000).zfill(2)
fortnight = chr(ord('@')+int((float(week)/2+1)))
day = str((7, 0) [not week % 2] + weekday - 1).zfill(2)
day = day if int(day) < 7 else chr(65 + int(day) - 7)
print(year + fortnight + day)
>> pythefnos 2021 08 07
>> 21PD
Pythefnos to Gregorian Using Python
We can convert any a Pythefnos formatted date back to ISO-8601 via the following Python snippet:
#!/usr/local/bin/python3
from sys import argv
from datetime import date, timedelta
pyth = argv[1]
year = "20" + pyth[:2]
week = (ord(pyth[2].lower()) - 97) * 2
isoDate = date.fromisocalendar(int(year), week, 1)
day = int(pyth[3:] if ord(pyth[3:]) < 65 else ord(pyth[3:] - 58
gregorian = isoDate + timedelta(days=day))
print(gregorian)
>> gregorian 21PD
>> 2021-08-07
Pymin
RWXRob defined a unique identifier that he calls the isosec, which is just a GMT timestamp with the punctuate removed as an easy to create identier for his zet records.
Just to be contrarian, I'll define the pymin using the calendar system above. This would be the date and time down to the minute as a unique identifier since I doubt I will ever write two notes in the same minute.
Examples
Pythefnos | Gregorian |
---|---|
21P00000 | July 26, 2021 00:00 |
21PD0830 | August 6, 2021 08:30 |
21PG1355 | August 8, 2021 13:55 |
21ZG1800 | December 26, 2021 18:00 |
22A02359 | December 27, 2021 23:59 |
Quarterly Counting
We also need to keep track of quarters. The format for a quarter is the two digit year, followed by "Q" and the digits 1-4. Zero-based quarters, I found confusing.
Quarter | Months | Pythefnos |
---|---|---|
24Q1 | January - March | A0 - FG |
24Q2 | April - June | G0 - MG |
24Q3 | July - September | N0 - SG |
24Q4 | October - December | T0 - ZG |
Fortnight Recurring Events
Since the day of each Pythefnos is counted from 0 - G, we have a useful property for tracking recurring events in our [[Todo.txt]] list: we can simply shorten the due date to the final character of the Pythefnos date and assume the current Pythefnos.
So an event that occurs every Monday is due on the "0th" and "A'th" days of the Pythefnos. And an event that occurs every other Tuesday would occur on either the "1st" or "B'th" day of the Pythefnos. In the Todo.txt syntax this would look like:
every monday event +project @context due:0
every monday event +project @context due:A
every other tuesday event +project @context due:B
External References
- Linega, Devine Lu. Arvelie Calendar, XXIIVV, Retrieved 2021-08-06.
- Muhlestein, Rob. Isosec. Zet, Retrieved 2022-05-10.
Linked References
- bullet-journal
The basic structure of my Bullet Journal consists of a title page and index with my name, dates covered, and contact details. A single spread for [[habit]] tracking. One page per day, with the date labelled on the top of the page. A single Goulet Traveller's Notebook can cover four [[pythefnos]]. A passport-sized traveller notebook is useful for notes on the go, or to copy down a subset of tasks to complete when on the town.
- mind-mapping
Example Mind Map from a [[Pythefnos]] planning session trying to get everything down I needed to do in a recent week.
- personal-productivity-practices
- [[Pythefnos]] Calendar
- productivity-advice
- Create a [[pythefnos]] routine rather than a daily routine.
- review-nightly
- Do this [[pythefnos]]
- review-pythefnos
There are 26 [[Pythefnos]] Retrospectives in each year conducted on the first Monday of each fortnight. These reviews are my chance to reflect on the last two weeks and make plans for the next two weeks.
- review-quarterly
Arvelie[1][1] is a calendar system used by Devine Lu Linvega. [[Pythefnos]] is a modified version of Arvelie that maps the syntax to Monday-starting weeks in the Gregorian calendar.
- todotxt
In practice, I find it best to leave calendar items on my calendar until they are one [[pythefnos]] away. Projects or events that are more than a quarter away, are best catalogued in my internal digital garden until my quarterly review.
- todotxt
It is best to keep projects or events that are more than a quarter away detailed in my internal garden. Projects that are coming up this quarter, but not this [[pythefnos]], are given a stub in todo.txt corresponding to the project note in my garden (e.g.
fall operations +fallops @lab
). - todotxt
Once I begin working on a project, I drop the stub from todo.txt and begin feeding next action items from my project note into todo.txt. It can be easy to overwhelm the todo list by dumping the entire task list from the project note into the list. I find it best to just add the tasks that I will either accomplish this [[pythefnos]] or just the next action item itself.