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 1-4. Zero-based quarters, I found confusing.

QuarterMonthsPythefnos
24Q1January - MarchA0 - FG
24Q2April - JuneG0 - MG
24Q3July - SeptemberN0 - SG
24Q4October - 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

  • 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
  • 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

    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.