Joe's
Digital Garden

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:

Decimal012345678910111213
Fortnight0123456ABCDEFG

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

PythefnosGregorianNote
21P0July 26, 2021First Monday of Fortnight P
21PDAugust 6, 2021Second Friday of Fortnight P
21PDAugust 8, 2021Last Sunday of Fortnight P
21ZDDecember 26, 2021Last day of the Year
22A0December 27, 2021First 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

PythefnosGregorian
21P00000July 26, 2021 00:00
21PD0830August 6, 2021 08:30
21PG1355August 8, 2021 13:55
21ZG1800December 26, 2021 18:00
22A02359December 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 0 - 3.

QuarterMonthsPythefnos
24Q0January - MarchA0 - FG
24Q1April - JuneG0 - MG
24Q2July - SeptemberN0 - SG
24Q3October - DecemberT0 - 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

  1. Linega, Devine Lu. Arvelie Calendar, XXIIVV, Retrieved 2021-08-06.
  2. Muhlestein, Rob. Isosec. Zet, Retrieved 2022-05-10.

Linked References

  • 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
  • productivity-advice
  • review-nightly
  • 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

    My current todo list has 71 items and I used four levels of priority (A: most important item today, B: do today, C: do this [[Pythefnos]], and D: blocked, reprioritize once free), seven contexts (house, kitchen, lab, office, out, study, and yard) and seventeen projects (chores, film, finance, game, house, japanese, jobhunt, konmari, literature, menu, ops, qt, salubrity, shopping, toilet, vgarden, and zet).