G12N

Desamber – thinking about calendars

For structuring this project I borrowed an idea from Devine Lu Linvega: Formatting dates as Desamber strings. Desamber is a Date format. Starting with the two digits of the current year followed by another two digit number.

Quoting Devine:

The Desamber Calendar has 26 months of 14 days each.

Check out this page for Details.

Desamber looks like a variation of the international fixed calendar. This calendar was an efford to get rid of the weard lengths of the gregorian calendar by addig a 13th month and fixing all months to 28 days. If you ever did any calendar calculations in any programming language you will understand how much easier this scheme is. The only oddity left in this calendar is that 13 times 16 equals 364. But our wonderful planet takes 365.2422 days for a full trip around the sun. The International Fixed Calendar bridges this gap by adding a single day called "Year Day" to the end of the year. And a leap day in summer in leap years. But having one of two days that aren't part of a month is much more convenient, than having some months with 30 days, some with 31, one with 28 (sometimes 29). Check out this site, to see this calendar in action.

The International Fixed Calendar was actually in use at the Eastman Kodak Company from 1928 to 1989. Check out this episode of the 99% Invisible podcast to find out more.

Desamber goes one step further by getting rid of arbitrary month names like "august" or "sol". It works well in all countries using the latin alphabet. It doesn't even make any assumptions about the amount of workdays in a month. I have no illusions that the world will adopt this calendar scheme anywhere in the near future. But for personal projects and time tracking it's really handy.

My goal for this year is to fill the 26 pages of a photo book with coded artworks. So the 26 Desamber months are a perfect fit for me. And let's face is: designing alterternative calendars is simply fun.

sketch of the day

Today is the first day i mangaged to squeeze in a sketch of the day. A small react component inspired by the Tiled Lines tutorial created by the amazin Tim Holman.

You'll find the source code below. See you tomorrow.

Tiled Lines

Source code

import PropTypes from 'prop-types'
import React from 'react'

const TiledLines = ({ tile, rows, columns, seed }) => {
  const width = tile * columns
  const height = tile * rows
  var d = ``
  for (var x = 0; x < width; x += tile) {
    for (var y = 0; y < height; y += tile) {
      if (Math.random() >= 0.5) {
        d += `M ${x} ${y} l${tile} ${tile} `
      } else {
        d += `M ${x} ${y + tile} l${tile} ${-tile}`
      }
    }
  }

  return (
    <svg viewBox={`0 0 ${width} ${height}`}>
      <title>Tiled Lines</title>
      <path
        d={d}
        strokeWidth="1"
        stroke="#000"
        fill="none"
        strokeLinecap="round"
      />
    </svg>
  )
}

TiledLines.propTypes = {
  tile: PropTypes.number,
  rows: PropTypes.number,
  columns: PropTypes.number,
}

TiledLines.defaultProps = {
  tile: 10,
  rows: 5,
  columns: 5,
}

export default TiledLines