Technical standards

These are some of the technical standards that I have for both my computer programming and other work.

Gendered language

There are five significant standards for the use of gender in pronouns and titles / social roles, in English:

  1. traditional: different words for both pronouns and titles.

  2. early Feminism: different words for pronouns, but the same words for titles.

  3. Star Trek: female pronouns and male titles, for everyone.

  4. recent Feminism: like early Feminism, but using different pronouns depending on the preference of the individual being described.

  5. fully woke: like recent Feminism, but with the addition of lots of sets of neo-pronouns.

I use the third (and least popular), since it can be easily used where the gender is unknown, and doesn’t require making up any new words. It’s also more just, because the female pronouns are more human, while the male titles are more adult.

Eg. “Here are Mr and Mr Smith. She is a male fireman, and she is a female policeman, and those are their tools”.

Dates

I prefer the international standard of year-month-day, and try to avoid the U.S. inconsistency of month-day-year whenever possible. I often prefer Unix date for simplicity, when recording it somewhere (like Linux/Unix file systems do), or the date in Melbourne (either AEST or AEDT).

I use the term date to mean both date and time, because a date is a measure of time relative to a standard reference point, whereas a time is measured between two arbitrary points. It’s the difference between a calendar/clock and a timer. The same applies to datestamp instead of timestamp.

I sometimes use a date format called earth date, which is based entirely on astronomy and basic physics, not culture. It consists of the year, day and the second (with decimal places). In this format the start of 2025 is 2025-000-00000, while the end is 2025-364-86399.

I don’t see why the period of a day is so special, and so usually record dates to the second, or millisecond when automated. This also means dates can be converted between time zones without the day numbers becoming inaccurate.

Release format

Releases are made only when needed, in both XZ and gzip tarballs (tar files compressed with XZ and gzip). The filenames begin with the name of the package, an underscore and the version number. An underscore is used because it more clearly separates the two elements.

The version consists of major, minor and patch numbers, separated by periods. The patch number can be omitted if it is zero. The initial release should be 0.1. Versions prior to that begin with 0.0.1, and are all release 0. Versions that begin with “0.” are betas, whereas those that begin with “0.0.” are alphas, and ideally should only be used for internal testing, prior to the first release.

Each source code archive file must be signed, with a detached, ASCII armoured signature (.asc file). If an RSA key is used, it must be at least 4096 bits.

Log file format

Log files are text, with each line starting with a Unix datestamp (in the UTC timezone), with a variable number of decimal places. This is followed by a colon, a space, and then the log entry, to the end of the line. When a daemon starts, it adds a blank line, followed by it’s name, version number, release number and hostname.

For example: 1548466496.789: startd, version 0.1 (release 1), on cinfinity.info

Last modified: 2025-11-30 13:33:37 UTC.