A human who transcended humanity

It really is a shame that Buddhism declined in the country of its birth (India), and that it survives today mostly in a more fragmented way elsewhere.

The reasons for Buddhism’s decline in India are complex. However, when I have asked Hindus today what they think of the Buddha, they almost always say that they believe he was an avatar of Vishnu, which allows Buddhism to be subsumed into Hinduism in their minds. But that view was probably created around the 8th century by Vaishnava Hindus, about 1300 years after the Buddha passed into nirvana.

Here is a nice account of how the Buddha defined himself, as a human being who discovered a new (or perhaps very old, pre-Hindu) way of removing/stopping the defilements and karma that make a human a human, and who thereby transcended humanity: http://www.buddhanet.net/bud_lt10.htm.



Apparently like many people, for many years and through many different types of jobs, I have struggled to find a good system for organizing tasks/to-dos, events, projects, etc. I have tried everything from expensive, complicated enterprise systems to open-source things and the iCalendar standard. Being unhappy with everything I have tried for various reasons, and because I have some knowledge of computer programming and databases, I have created my own format, which is described here.

I chose text files as the way of storing this information, for the following reasons:

  • text editors are ubiquitously available on most every device and operating system,
  • textual character encodings exist for every major language on Earth, and many have been internationally standardized in Unicode,
  • text compresses well and is easily encrypted,
  • text is easy to modify and search,
  • text is highly portable,
  • text does not require the involvement of third parties (e.g., Web hosting or software companies), and
  • structured text formats can be programmatically parsed or generated (e.g., multiple people’s files could be easily combined).

Files and their structure

The system contains the following files:

  1. todo.txt – where the event/task (hereafter just “task”) information is stored
  2. A notes/ folder, containing serially numbered text files, zero-padded if desired (e.g., 00000, 00001, 00002, etc.). As shown below, notes files are associated with one or more tasks, and have a certain structure.
  3. A projects/ folder, containing text files named after projects (e.g., SELF_2017taxes). Project text files have the same structure as notes files, but regard the project overall instead of specific tasks.
    1. The projects folder contains an ARCHIVE folder, with sub-folders for each year. When a project is finished, its text file is moved to the appropriate year in the ARCHIVE folder.


The todo.txt file is the core/heart of the system and is the most complex.

Overall, it is organized as a timeline, from the distant future at the top to the distant past at the bottom, with the present somewhere in the middle. This layout was chosen, because humans experience time in a linear way, and it allows for many different calendar types (e.g., Buddhist, Chinese, Christian/Gregorian, Hindu, Jewish, Julian, Mayan, etc.) and timezones to be combined in a single file. To go to the present, simply search for (or scroll down to), the “# present” section.

Each line represents a task, with a few lines for defining calendar types, timezones, and sections. Section titles, like comments in a Unix bash/shell script, always begin with “#”. Here is an example of the definitions sections at the top of the file:

timezones: E=US.easternTime, S=SriLanka.standardTime, L=localTime
defaultTimezone: UTC
calendars: CE=ChristianEra, HE=HinduEra
defaultCalendar: SinhalaBuddhist
## definitions ##

In my todo.txt file, there are the following sections, from top-to-bottom (i.e., future-to-past): definitions, date unknown, date known, soon, frequent routines, present (which is always an empty section), frequent routines, date known, and date unknown.

Note that, because this is a timeline, like the dates of tasks, the section titles radiate out from the present moment, which is in approximately the middle of the file. Hence, for things in the future, which are read from bottom-to-top, the section titles come below the things they describe.

Also note that the fields of this file are space-delimited (i.e., there is one space between the status, date, time, etc.). For this reason, camelCase is used throughout, as putting spaces between words would break the file’s structure. A different delimiter and writing style could be used, but might make the file less compact and easy to read.

Format of task lines

The task lines follow a common structure, of this form:

status(ACTION ITEMS) YYYY-MM-DDdow{repetitionPattern} time task(requirements)[location]{aboutWhy} associatedNoteFile [associatedProjectFile]

For example:

i(CALL HER) 2018CE-03-11su{1982CE(++1)-03-11} 1800 me.pers.fam.pamela.party(cake)[herHouse]{birthday} 00032 [birthdays]

That example would be read in this way:

  • in progress,
  • with the action item that someone needs to call her,
  • on 2018 (in the Common Era / Gregorian calendar) March 11, which was a Sunday,
  • repeating annually since 1982 (her birth year) on March 11,
  • at 1800 (6 p.m.) in the default timezone,
  • within my personal to-do list, for a family member named Pamela, a party, requiring a cake, at her house, on the occasion of her birthday,
  • with notes kept in notes file 00032,
  • associated with a project called “birthdays”.

Status codes and action items

Status codes can be whatever you wish. I recommend the following codes:

‘-‘ for not yet started and needs action,
‘~’ for a tentative task that is not yet started and might need action,
‘i’ for in-progress/process,
‘x’ for finished,
‘c’ for canceled, and
‘ ‘ (an empty space) for tasks that require no action from you.

Action items (i.e., actions that need to be taken related to this task) are written in ALL CAPS, so that they stand out to the eye. I separate action items with periods / full stops, and list them in the order in which they need to be done. If there are many action items, the (parens) can be broken onto multiple lines. Resist the temptation to write notes in/after the action items, because this file will become cluttered and hard to read. Put notes in the notes files.

Dates and times

The date is in ISO format, followed by an optional abbreviation for the day of the week, with a repetition pattern inside {curly braces}. The calendar can be of any type, with the type indicated by an abbreviation after the year, which you may define however you wish at the top of the file (described in detail below). If there is no abbreviation after the year, the default calendar type, which is defined at the top of the file, is used.

Here are some example/suggested repetition patterns:

1982CE(++3)-**-** means every three years beginning from 1982 in the Common Era, on every month and every day that year.

****-**-2ndMonday means every year, every month, on the second Monday.

****-(03,06)-** means every year, the third and sixth months, on every day of those months.

2562BE-11-?? means in 2562 in the Buddhist Era, November, on an as-yet-unknown day.

Throughout this file, (parens) are used for groups/sets or numerical patterns. In addition to the above examples, fam.(joan,chris,mary).visit[theirHouse] means family members — Joan, Chris, and Mary — visit them at their house.

The time can be written in any format, though I recommend being consistent for ease of reading. As with dates, if no timezone is specified by an abbreviation after the time, the default timezone is used.

Within the “date unknown” and “soon” sections, task lines lack a date or time, but are otherwise the same as described above.

Task names

The task name format is similar to the dot notation of object-oriented programming languages, or the reverse of a Web URL. From left-to-right, it is a general-to-specific hierarchical classification of someone or something, with the last element of the classification being the action taken by, to, for, etc. that someone or something. The meanings of (parens), [square brackets], and {curly braces} are also similar to Java’s using them for function/method requirements, data locations, and blocks of multiple commands, respectively. For example:

me.pers.gov.us.mo.dmv.answer{canDriversLicensesBeRenewedOnlineYet?} could mean this: within my personal calendar, a government, of the US, of Missouri, the Department of Motor Vehicles, then seek an answer for/about the question “can driver’s licenses be renewed online yet?”

pd.biz.vend.allstate.deadline{renew(policy)} could mean this: within Pam Dawson’s business calendar, a vendor, the AllState insurance company, a deadline about renewing an insurance policy she has with them.

When only one or two people use this system, how they choose to categorize the aspects of their life is up to them and can be very fluid/loose. Of course, if this system were generalized to a larger group of people, it would be good to standardize the elements of task names. For example, there could be databases/spreadsheets of which initials represent which person, and into which categories to divide people’s business or personal lives. For example, I sort my personal life into these categories: acad.admin (academic administration), acad.research (academic research), acad.teaching (academic teaching), acad.service (academic service), fam (family), frnd (friends), corp.cust (corporate customers), corp.vend (corporate vendors), gov (governmental), nfp.cust (not-for-profit customers), nfp.vend (not-for-profit vendors), and self (myself). For holidays and natural events, I also have categories related to the holiday’s origin, for example: ancientRome, Hindus, nature, and westernChristians. My business’s categories are acct (accounting), cust (customers), exec (executive), it (IT), lgl (legal), mktg (marketing), rnd (R&D), and vend (vendors).

Task groups and conditions

For grouping tasks, this system uses project names. For example, all tasks having to do with doing this year’s taxes could have a [SELF_2017taxes] project label. If you find that a task should have sub-tasks, I recommend making that task a project. If a project has multiple levels of sub-tasks, I recommend keeping track of that hierarchical structure in the project’s notes file, and using only one serial-numbered notes file per task.

Sometimes you want to say, “if a certain thing happens, do these tasks.” I recommend the following syntax:

  – task2
  – task1
if fam.mom.visits {

That means: if family member Mom visits, do these tasks. The tasks go upwards, because they go into the future.

Note and project files

Both note and project files have the same structure, but note files contain notes about individual tasks, and project files contain notes about projects overall. Each file has this structure:

  • On the first line, if it is a note file, there is the name of the task with which it is associated; if it is a project file, there is the name of the project or a list of all of the tasks with which it is associated (though such a list would be redundant with the project labels in the todo.txt file). This is done so that there is no confusion about with which task(s) this file is associated.
  • The top half of the file is for a blog-like history of notes, with a date and author name at the beginning of each line, with the newest note at the top and the oldest at the bottom. This section is where to put dated things related to this task, for example notes from phone calls or meetings. If a project has multiple sub-tasks, I recommend making sections for each sub-task within section, such as by indenting lines to indicate sub-tasks.
  • The bottom half of the file is for research and free-form notes, such as brainstorming outlines, summaries of Web research, etc.

I recommend separating the two notes sections with a 10-dashes horizontal line (“———-“), and, if you wish to create sub-sections of these sections, use a horizontal line with fewer dashes.

A typical workflow

  1. When a new task comes in, create a line for it wherever is most appropriate in the todo.txt file.
  2. If the task is completed or canceled, change its status to ‘x’ or ‘c’, and move the task line to the top of the “date known” section in the past (because the date of completion or cancelation are known or can be guessed), so that there is a record of past tasks. If its outcome was complicated, write a note about it in the notes file, creating a new notes file if necessary and appending its number to the task line per the above syntax.
  3. If the task had a repetition pattern, calculate one or more future occurrences and create new tasks up in the future section of the calendar.
– Example todo.txt file –

timezones: E=US.EasternTime, L=localTime
defaultTimezone: UTC
calendars: CE=ChristianCommonEra, HE=HinduEra
defaultCalendar: SinhalaBuddhist

## definitions ##

i self.house.make(goBag) [SURVIVAL_KIT]
– [INVESTING_coins]

## date unknown ##

  5120HE-11-07we{lookup} * hindus.holiday.diwali
– 2562-09-18tu{****-09-18} * self.body.get(fluVaccine) 00038 [VACCINATIONS]
  2018CE-07-02mo…16mo{1877CE(++1)-oneWeekAfterTheLastMonInJune-twoWeeks} * world.sport.tennis.wimbledon
– 2562-05-06su{****-05-06} * corp.vend.verizon.expires(voicePlan) 00055
i(CALL DENTIST. FILL OUT INTAKE DOCUMENTS.) 2561-04-01su{****-04-01} * self.body.schedule(dentalCleaning) 00042
  2018CE-03-31sa{****-03-lastSunday} * gov.uk.begins{BritishSummerTime}
  2561-03-20tu{lookup} * nature.equinox

## date known ##

– self.body.schedule(eyeExam) 00003

## soon ##

****-**-(mo,we,fr) evening self.body.take(medicine){thyroid}

## frequent routines ##

##### present #####

## frequent routines ##

****-**-(tu,th,sa) evening self.body.take(iron)

## date known ##

c(2561-03-06tu doing as needed) 2561-03-06tu{2561-07-18(++7)} * corp.vend.mobilePhones.(checkBalance,topup) 00039
x 2561-02-09fr…25su * world.sport.olympics.winter[SouthKorea.Pyeongchang]
x 2561-02-20tu 1900E fam.mom.call

– Examples notes file –

2560-02-03mo * corp.vend.insuranceCo.get(refund){homeOwnersInsurance} [SELF_*Move]

2560-02-05 she acknowledged receipt
2560-02-03 emailed them to the representative. she’s out of the office.
2560-02-01 scanned home sale settlement docs


rep’s contact info and website: …

directions to the rep’s office: …

– Example project file –


(optional notes for the project overall here)


## packing list

x shoes
x sleep mask

i(see 2560-06-28 * corp.vend.amazon.order(plugAdapters) 00084) electricity plug adapters
x(see 2560-07-03 1800 corp.vend.at&t.visit[store] 00085) unlocked cellphone

## emergency contact info
US embassy: …
Local emergency numbers: …

## itinerary
… (flight and train schedules, events, sites, etc.)

## restaurants
… (a list of local restaurants)

Heavy metal Buddhism

There is an interesting overlap in the US between dark countercultures (heavy metal, goth, etc.) and Buddhist ideas of emptiness, suffering, delusion/illusion, no-self or self-conquest, patisotagamin (going against the mainstream), meditating on death, introspection, etc. As when the Buddha replaced meditating on death with anapanasati (meditating on the breath), after a few monks became suicidal after meditating on death, I always hope that people who embrace the dark side of Buddhism don’t get lost by dwelling too much in dark becoming/karma, hellish rebirths, etc. It is important to stay in the middle of the Middle Way — neither pleasure nor pain. The Buddha used negativity only as a temporary technique to counter things like the delusion of self.

For example, I’m not sure if Kirk Hammett, their lead guitarist who I’ve read is a Buddhist, wrote all of these, but here are some very Buddhist-sounding lyrics from Metallica, from newer to older:

“All reflections look the same, in the shine of a midnight revolver” (“Just a Bullet Away”).

“How can I be lost, if I’ve got nowhere to go?
Search for seas of gold, how come it’s got so cold?
How can I be lost, in remembrance I relive?
And how can I blame you, when it’s me I can’t forgive” (“Unforgiven III”)?

“If I could have my wasted days back,
would I use them to get back on track?
Stop to warm at karma’s burning,
or look ahead but keep on turning.
Do I have the strength to know how I’ll go?
Can I find it inside to deal with what I shouldn’t know?
I’ve worn out always being afraid,
an endless stream of fear that I’ve made. …
My lifestyle (birth/death is pain) determines by death style,
a rising tide (life is pain / it’s all the same) that pushes to the other side. …
Keep searchin…” (“Frantic”).

“Then the unnamed feeling, it comes alive … it takes me away” (“Unnamed Feeling”).

“Can’t you help me purify you and I…” (“Purify”).

“Careful what you wish… careful what you say.
Careful what you wish, you may regret it.
Careful what you wish, you just might get it.
Then it all crashes down, you break your crown,
and you point your finger, but there’s no one around.
Just want one thing, just to play the king,
but the castle’s crumbled, and you’re left with just a name.
Where’s your crown, King Nothing” (“King Nothing”)?