HistoryCal <
http://historycal.org> appeal for beta-testers.
HistoryCal is a new type of utility program designed to handle
historical date and calendars in a rational fashion. I have just
released a Windows alpha version.
Because it is new it is sometimes difficult to get across the scope of
what it does, (I see peoples eyes glaze over well before I get to the
end) but nevertheless I will try.
1. It will convert between calendar schemes. By calendar schemes I mean
all the various schemes people have used in the past, such as Julian
calendars with the year change on Christmas Day or March 25th or even
Easter Day. It will cope with ecclesiastical and regnal calendars.
It does this by letting you set the input scheme and the format. If some
of the calendars elements are text, then you can select it from a list,
useful for things like regnal calendars where the exact name of the
various eras may be uncertain.
You then enter the date and select the required output format.
If this is the only part that you use, this program would be worthwhile.
2. It handles date ranges in a natural way. Historians and genealogists
often express the uncertainty of the date of an event by using a range
of possible. HistoryCal simplifies this by allowing you to state ranges
explicitly (eg "3sep1901~20sep1901" or implicitly with "1890" which is
treated as "1 Jan 1890 ~ 31 Dec 1890".
It can handle multiple ranges at the same time, as in "1890 | 1892",
which can be read as "during year 1890 or year 1892".
3. You can carry out set operations with the ranges. If you have the
following information about an event.
It happened during Queen Victoria's reign.
It happened during the years 1890 and 1910.
It did not happen in the years 1899 or 1897.
With the calculator input set to Gregorian and format Day Month Year, we
can enter this as:
"er#vic &. 1890~1910 \ ( 1899 | 1897 )".
er# is the signature for the English Regnal Calendar
and vic the abbreviation for Victoria.
&. is for the set intersection operator, or more simply "and"
(The dot is to distinguish it from the & in a text element such as
"Philip & Mary")
\ is the relative complement operator, better thought of as "and not"
| we've meet before, it is the union operator we can read as "or".
With the output settings the same as the input, the result is "1890 ~
1896 | 1898 | 1 Jan 1900 ~ 22 Jan 1901".
4 Future developments will include functions such as "Date of Birth"
from an age and date
or its reverse, Age given a date of birth and a date.
5. Creation of variant calendar schemes.
At the heart of the calculator is a script language and we can use this
script to create variants of
the built in calendar schemes. This is how the calendars with shifted
year changes on regnal calendars are created.
It can also be used to create hybrid calendars such as an English hybrid
where the change over from Julian to Gregorian is handled automatically.
Other variations are possible.
6. Also planned. Handling conversions errors due to various reasons,
including when the precise details of the calendar are unknown. Adding
correction tables for when we have direct evidence of errors. And adding
lots more world calendars.
7. The main code engine for HistoryCal is in the form of a C/C++
library. This could also be used with other languages such as Java or
Python. This way the capabilities of HistoryCal can be used by other
programs.
With this capability built into a program the operations in item 3
above, using dates previously entered, become much more useful.
8. I have had versions running on Linux/GNU and Mac OS X but I don't
have any experience in releasing programs on these platforms. If anyone
who has can talk me though the necessary steps, it would be a great help.
If your eyes have not yet glazed over, and you are interested in helping
at any level then please join the project's email list at:
https://lists.sourceforge.net/lists/listinfo/historycal-discuss
Nick
Please feel free to cross post this message, if you know anywhere that
Genealogists or Historians who may be interested hang out.