Hebrew calendar software creators: can you notify this list when updating the calendar?

Hebrew calendar software creators: can you notify this list when updating the calendar?

Stan Goodman stan.goodman at hashkedim.com
Tue May 25 18:12:21 IDT 2010


At 15:27:10 on Tuesday Tuesday 25 May 2010, Ron Varburg 
<linux-il at hotmail.com> wrote:
> I intend to file the following report.  Any comments?
>
> Package: bsdmainutils
> Version: 8.0.11
> Severity: normal
> Tags: patch
>
>
>   calendar.judaic was last updated in 2007.  Due to the nature of
> the Jewish calendar, it renders the file unusable.  To address the
> difficulties facing the maintaner, a python script is included.  This
> script offers the maintainer a way to create the file as required.
> The script is not limited to a single year.  Just enter the desired
> year as an argument in the command line.  I suggest to keep this
> script in the Debian directory of the source package.

In what way is the Jewish calaendar unstable?

Here is a link to a website containing a list of very well-known articels 
and books describing calculations for calculating dates.  I do not mean 
to imply by posting this link that it will be an innovation to anyone is 
is interested in the subject; I post it for the convenience of those who 
haven't considered these calculations previously. (I have lots of other 
references.)

<http://emr.cs.uiuc.edu/~reingold/calendars.shtml>

> $ cat calendarJudaic.py
> #! /usr/bin/python
> # Filename: calendarJudaic.py
> #
> # License: no warranty close + no license (public domain)
> #
> # Creates a calendar.judaic file, which is suitable for inclusion
> # in Debian's bsdmainutils package.  Up to the introductory of
> # this script the calendar.judaic file was not updated regulary. 
> # Probably because updating it is time consuming.  This python
> # script let anyone create that file, for any year.  Its output is
> # written to stdout.  It requires the libhdate-python package.
> # A small part of the holidays might require manual editing
> # because the state of Israel modifies the actual date by a few
> # days due to various considerations.
>
> # References:
> # http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58169.html
> # http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58321.html
> # http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58451.html
>
>
> from    string    import  Template
> import  hdate,  optparse,  sys,  time
>
>
> def main():
>
>     description = '''Description:
> Creates a calendar.judaic file, which is suitable for inclusion
> in Debian's bsdmainutils package.  Up to the introductory of
> this script the calendar.judaic file was not updated regulary. 
> Probably because updating it is time consuming.  This python
> script let anyone create that file, for any year.  Its output is
> written to stdout.  It requires the libhdate-python package.
> A small part of the holidays might require manual editing
> because the state of Israel modifies the actual date by a few
> days due to various considerations.
> '''
>     usage = "Usage:    %prog [year]\n"\
>             "\n"\
>             "Example:  %prog 2099"
>     version = "29-May-2010"
>     parser = optparse.OptionParser(description=description,
>                                    usage=usage, version=version)
>     (options, args) = parser.parse_args()
>     if len(args)> 1:
>         parser.error("\n  " + str(len(args)) + " arguments were "
>             "given.  At most 1, an integer represnting a year, "
>             "is expected."
>                     )
>     elif len(args) == 1:
>         # An integer represnting a year is expected.
>         try:
>             year = int(args[0])
>         except ValueError:
>             parser.error("\n  Could not convert the argument " +
> args[0] + ", which should represent a year, to an integer." )
>     else:  # len(args) == 0, no args were given.  Use the current year.
>         year = time.localtime().tm_year
>
>     h = hdate.Hdate()
>
>     template_for_header = '''/*
>  * Judaic Calendar. Created by calendar.judaic.py.
>  * Collaboratively authored by linux-il at cs.huji.ac.il.
>  *
>  * $$Debian GNU\Linux$$
>  *
>  */
>
> /*
>  * $$Id: calendarJudaic.py,v ${PLACE_HOLDER_FOR_VERSION}$$
>  */
>  
> #ifndef _calendar_judaic_
> #define _calendar_judaic_
>
> LANG=UTF-8
>
> /*
>  * Jewish calendar for the CE year ${PLACE_HOLDER_FOR_THR_CE_YEAR}
>  * ${PLACE_HOLDER_FOR_THE_JEWISH_START_OF_THE_CE_YEAR} -
> ${PLACE_HOLDER_FOR_THE_JEWISH_END_OF_THE_CE_YEAR} */
>
> '''
>
>     footer = '''
>
> #endif /* !_calendar_judaic_ */'''
>
>     substitutions_for_header = {
>         'PLACE_HOLDER_FOR_VERSION' : version,
>         'PLACE_HOLDER_FOR_THR_CE_YEAR' : str(year)
>                                }
>     h.set_gdate(1, 1, year)
>     substitutions_for_header[
>         'PLACE_HOLDER_FOR_THE_JEWISH_START_OF_THE_CE_YEAR'] = \
>             h.get_format_date(h.get_julian()) + ' ' + \
>                                 h.get_hebrew_year_string()
>     h.set_gdate(31, 12, year)
>     substitutions_for_header[
>         'PLACE_HOLDER_FOR_THE_JEWISH_END_OF_THE_CE_YEAR'] = \
>             h.get_format_date(h.get_julian()) + ' ' + \
>                                 h.get_hebrew_year_string()
>     header = Template(template_for_header).substitute(
>                                     substitutions_for_header)
>     print header
>
>     h.set_gdate(1, 1, year)
>     julian = h.get_julian()
>     for i in range(0, 365):
>         h.set_jd(julian)
>         julian += 1
>         day = h.get_gday()
>         month = h.get_gmonth()
>         holyday = h.get_holyday_string(1)
>         if holyday:
>             print "%02d/%02d*  %s" % (day, month, holyday)
>         parasha = h.get_parasha_string(julian)
>         if parasha != 'none':
>             print "%02d/%02d*  Parshat %s" % (day, month, parasha)
>
>     print footer
>
>     sys.exit()
>
>
> if __name__ == "__main__":
>     main()
> else:
>     # The following is useful from within an interactive Python
>     # interpreter, where calendarJudaic.py is in the same `pwd`:
>     #  >>> import calendarJudaic
>     pass
>
> $ cat calendar.judaic.2010
> /*
>  * Judaic Calendar. Created by calendar.judaic.py.
>  * Collaboratively authored by linux-il at cs.huji.ac.il.
>  *
>  * $Debian GNU\Linux$
>  *
>  */
>
> /*
>  * $Id: calendarJudaic.py,v 29-May-2010$
>  */
>  
> #ifndef _calendar_judaic_
> #define _calendar_judaic_
>
> LANG=UTF-8
>
> /*
>  * Jewish calendar for the CE year 2010
>  * 15 Tevet 5770 - 24 Tevet 5771
>  */
>
>
> 02/01*  Parshat Vayechi
> 09/01*  Parshat Shemot
> 16/01*  Parshat Vaera
> 23/01*  Parshat Bo
> 30/01*  Tu B'Shvat
> 30/01*  Parshat Beshalach
> 06/02*  Parshat Yitro
> 13/02*  Parshat Mishpatim
> 14/02*  Family Day
> 20/02*  Parshat Terumah
> 25/02*  Ta'anit Esther
> 27/02*  Parshat Tetzaveh
> 28/02*  Purim
> 01/03*  Shushan Purim
> 06/03*  Parshat Ki Tisa
> 13/03*  Parshat Vayakhel-Pekudei
> 20/03*  Parshat Vayikra
> 27/03*  Parshat Tzav
> 30/03*  Pesach
> 31/03*  Hol hamoed Pesach
> 01/04*  Hol hamoed Pesach
> 02/04*  Hol hamoed Pesach
> 03/04*  Hol hamoed Pesach
> 04/04*  Hol hamoed Pesach
> 05/04*  Pesach VII
> 10/04*  Parshat Shmini
> 12/04*  Yom HaShoah
> 17/04*  Parshat Tazria-Metzora
> 19/04*  Yom HaZikaron
> 20/04*  Yom HaAtzma'ut
> 24/04*  Parshat Achrei Mot-Kedoshim
> 01/05*  Parshat Emor
> 02/05*  Lag B'Omer
> 08/05*  Parshat Behar-Bechukotai
> 12/05*  Yom Yerushalayim
> 15/05*  Parshat Bamidbar
> 18/05*  Erev Shavuot
> 19/05*  Shavuot
> 22/05*  Parshat Nasso
> 29/05*  Parshat Beha'alotcha
> 05/06*  Parshat Sh'lach
> 12/06*  Parshat Korach
> 19/06*  Parshat Chukat
> 26/06*  Parshat Balak
> 29/06*  Tzom Tammuz
> 03/07*  Parshat Pinchas
> 10/07*  Parshat Matot-Masei
> 11/07*  Zhabotinsky day
> 17/07*  Parshat Devarim
> 20/07*  Tish'a B'Av
> 24/07*  Parshat Vaetchanan
> 26/07*  Tu B'Av
> 31/07*  Parshat Eikev
> 07/08*  Parshat Re'eh
> 14/08*  Parshat Shoftim
> 21/08*  Parshat Ki Teitzei
> 28/08*  Parshat Ki Tavo
> 04/09*  Parshat Nitzavim-Vayeilech
> 09/09*  Rosh Hashana I
> 10/09*  Rosh Hashana II
> 11/09*  Parshat Ha'Azinu
> 12/09*  Tzom Gedaliah
> 18/09*  Yom Kippur
> 23/09*  Sukkot
> 24/09*  Hol hamoed Sukkot
> 25/09*  Hol hamoed Sukkot
> 26/09*  Hol hamoed Sukkot
> 27/09*  Hol hamoed Sukkot
> 28/09*  Hol hamoed Sukkot
> 29/09*  Hoshana raba
> 30/09*  Shmini Atzeret
> 30/09*  Parshat Vezot Habracha
> 02/10*  Parshat Bereshit
> 09/10*  Parshat Noach
> 16/10*  Parshat Lech-Lecha
> 20/10*  Rabin memorial day
> 23/10*  Parshat Vayera
> 30/10*  Parshat Chayei Sara
> 06/11*  Parshat Toldot
> 13/11*  Parshat Vayetzei
> 20/11*  Parshat Vayishlach
> 27/11*  Parshat Vayeshev
> 02/12*  Chanukah
> 03/12*  Chanukah
> 04/12*  Chanukah
> 04/12*  Parshat Miketz
> 05/12*  Chanukah
> 06/12*  Chanukah
> 07/12*  Chanukah
> 08/12*  Chanukah
> 09/12*  Chanukah
> 11/12*  Parshat Vayigash
> 17/12*  Asara B'Tevet
> 18/12*  Parshat Vayechi
> 25/12*  Parshat Shemot
>
>
> #endif /* !_calendar_judaic_ */
>
>
>   The file that is currently included in the distribution is the
> following:
>
> $ cat /usr/share/calendar/calendar.judaic.2007
> /*
>  * Judaic Calendar. Maintained by Josef Grosch
> <jgrosch at mooseriver.com>. *
>  * $FreeBSD$
>  *
>  */
>
> /*
>  * $Id: calendar.judaic,v 1.45 2007/01/01 22:24:53 jgrosch Exp $
>  */
>
> #ifndef _calendar_judaic_
> #define _calendar_judaic_
>
> LANG=UTF-8
>
> /*
>  * Jewish calendar for the CE year 2007
>  * 11 Tevet 5767 - 22 tevet 5768
>  */
>
>
> 01/06*    Parshas Vayechi
> 01/13*    Parshas Shemos
> 01/20*    Parshas Vaera
> 01/20*    Rosh Chodesh Shevat (Beginning of the month of Shevat)
> 01/27*    Parshas Bo
> 02/03*    Parshas Beshalach
> 02/03*    Shabbos Shira
> 02/03*    Tu B'Shevat (Feast of Trees)
> 02/10*    Parshas Yisro
> 02/17*    Parshas Mishpatim
> 02/17*    Shabbos Shekalim
> 02/18*    Rosh Chodesh Adar (Beginning of the month of Adar)
> 02/18*    Be Happy! It's Adar
> 02/19*    Rosh Chodesh Adar (Beginning of the month of Adar)
> 02/19*    Be Happy! It's Adar
> 02/24*    Parshas Terumah
> 03/01*    Ta'anis Esther (Fast of Esther, Battle of Purim)
> 03/03*    Parshas Tetzaveh
> 03/03*    Shabbos Zachor
> 03/04*    Purim (Feast of Lots)
> 03/05*    Shushan Purim
> 03/10*    Parshas Ki Sisa
> 03/10*    Shabbos Parah
> 03/17*    Parshas Vayakhel-Pekudei
> 03/17*    Shabbos HaChodesh
> 03/20*    Rosh Chodesh Nissan (Beginning of the month of Nissan)
> 03/24*    Parshas Vayikra
> 03/31*    Parshas Tzav
> 03/31*    Shabbos Haggadol
> 04/02*    Erev Pesach
> 04/02*    Ta'anis Bechoros (Fast of the First Born)
> 04/02*    First Seder night
> 04/03*    Pesach (First Day of Passover; sabbatical)
> 04/03*    Second Sedar night
> 04/04*    Pesach (Second Day of Passover; sabbatical)
> 04/04*    Sefirat ha-Omer begins (Counting of the Omer)
> 04/05*    Omer 2nd day
> 04/05*    Pesach (Third Day of Passover; sabbatical)
> 04/05*    Hol Hamoed
> 04/06*    Omer 3rd day
> 04/06*    Pesach (Fourth Day of Passover)
> 04/06*    Hol Hamoed
> 04/07*    Omer 4th day
> 04/07*    Pesach (Fifth Day of Passover)
> 04/07*    Hol Hamoed
> 04/08*    Omer 5th day
> 04/08*    Pesach (Sixth Day of Passover)
> 04/08*    Hol Hamoed
> 04/09*    Omer 6th day
> 04/09*    Pesach (Seventh Day of Passover)
> 04/10*    Omer 7th day
> 04/10*    Pesach (Last Day of Passover; 8th day of Pesach; sabbatical)
> 04/10*    Yizkor
> 04/11*    Omer 8th day
> 04/12*    Omer 9th day
> 04/13*    Omer 10th day
> 04/14*    Omer 11th day
> 04/14*    Parshas Shmini
> 04/15*    Omer 12th day
> 04/15*    Yom HaShoah (Holocaust Memorial Day)
> 04/16*    Omer 13th day
> 04/17*    Omer 14th day
> 04/18*    Omer 15th day
> 04/18*    Rosh Chodesh Iyar (Beginning of the month of Iyar)
> 04/19*    Omer 16th day
> 04/19*    Rosh Chodesh Iyar (Beginning of the month of Iyar)
> 04/20*    Omer 17th day
> 04/21*    Omer 18th day
> 04/21*    Parshas Tazria-Metzora
> 04/22*    Omer 19th day
> 04/23*    Omer 20th day
> 04/23*    Yom HaZikaron
> 04/24*    Omer 21st day
> 04/24*    Yom HaAtzma'ut (Israel Independence Day)
> 04/25*    Omer 22nd day
> 04/26*    Omer 23th day
> 04/27*    Omer 24th day
> 04/28*    Omer 25th day
> 04/28*    Parshas Achrei Kedoshim
> 04/29*    Omer 26th day
> 04/30*    Omer 27th day
> 05/01*    Omer 28th day
> 05/02*    Omer 29th day
> 05/03*    Omer 30th day
> 05/04*    Omer 31st day
> 05/05*    Omer 32nd day
> 05/05*    Parshas Emor
> 05/06*    Lag B'Omer (Commemoration of the Great Rebellion)
> 05/06*    Omer 33th day
> 05/07*    Omer 34th day
> 05/08*    Omer 35th day
> 05/09*    Omer 36th day
> 05/10*    Omer 37th day
> 05/11*    Omer 38th day
> 05/12*    Omer 39th day
> 05/12*    Parshas Behar-Bechukosai
> 05/13*    Omer 40th day
> 05/14*    Omer 41st day
> 05/15*    Omer 42nd day
> 05/16*    Omer 43th day
> 05/16*    Yom Yerushalayim (Reunification of Jerusalem)
> 05/17*    Omer 44th day
> 05/18*    Omer 45th day
> 05/18*    Rosh Chodesh Sivan (Beginning of the month of Sivan)
> 05/19*    Omer 46th day
> 05/19*    Parshas Bamidbar
> 05/20*    Omer 47th day
> 05/21*    Omer 48th day
> 05/22*    Erev Shavuos
> 05/22*    Omer 49th day
> 05/23*    Shavuos (Festival of Weeks; sabbatical)
> 05/24*    Shavuos (Festival of Weeks; sabbatical)
> 05/24*    Yizkor
> 05/26*    Parshas Nasso
> 06/02*    Parshas Beha'aloscha
> 06/09*    Parshas Shelach Lecha
> 06/16*    Parshas Korach
> 06/16*    Rosh Chodesh Tammuz (Beginning of the month of Tammuz)
> 06/17*    Rosh Chodesh Tammuz (Beginning of the month of Tammuz)
> 06/23*    Parshas Chukas
> 06/30*    Parshas Balak
> 07/03*    Fast of Shiv'a Asar B'Tammuz (Romans breach Wall of
> Jerusalem; fast day) 07/03*    Tzom Tammuz
> 07/07*    Parshas Pinchas
> 07/14*    Parshas Matos-Masei
> 07/16*    Rosh Chodesh Av (Beginning of the month of Av)
> 07/21*    Parshas Devarim
> 07/21*    Shabbos Hazon
> 07/24*    Fast of Tish'a B'Av (Babylon/Rome destroys Holy Temple; fast
> day) 07/28*    Parshas Vaeschanan
> 07/28*    Shabbos Nachamu
> 07/30*    Tu B'Av
> 08/04*    Parshas Eikev
> 08/11*    Parshas Re'eh
> 08/14*    Rosh Chodesh Elul (Beginning of the month of Elul)
> 08/15*    Rosh Chodesh Elul (Beginning of the month of Elul)
> 08/18*    Parshas Shoftim
> 08/25*    Parshas Ki Tetze
> 09/01*    Parshas Ki Savo
> 09/08*    Parshas Nitzavim-Vayeilech
> 09/12*    Erev Rosh Hashana
> 09/13*    First Day of Rosh Hashanah (Jewish New Year; 5768;
> sabbatical) 09/13*    Rosh Chodesh Tishrei (Beginning of the month of
> Tishrei) 09/14*    Rosh Hashanah (sabbatical)
> 09/15*    Parshas Ha'Azinu
> 09/15*    Shabbos Shuvah
> 09/16*    Fast of Gedalya (Murder of Gedalya and subsequent Exile; fast
> day) 09/16*    Tzom Gedaliah
> 09/21*    Erev Yom Kippur
> 09/22*    Yom Kippur (Day of Atonement; sabbatical, fast day)
> 09/22*    Yizkor
> 09/26*    Erev Sukkos
> 09/27*    Succos (Festival of Tabernacles; sabbatical)
> 09/28*    Succos (sabbatical)
> 09/28*    Sukkos (Second day of Sukkos)
> 09/29*    Sukkos (Third day of Sukkos)
> 09/29*    Hol Hamoed
> 09/30*    Sukkos (Fourth day of Sukkos)
> 09/30*    Hol Hamoed
> 10/01*    Sukkos (Fifth day of Sukkos)
> 10/01*    Hol Hamoed
> 10/02*    Sukkos (Sixth day of Sukkos)
> 10/02*    Hol Hamoed
> 10/03*    Hoshanah Rabba (Seventh day of Succos)
> 10/03*    Sukkos (Seventh day of Sukkos)
> 10/04*    Shmini Atzeres (8th Day of Gathering; sabbatical)
> 10/04*    Yizkor
> 10/05*    Simchas Torah (Rejoicing of the Law; sabbatical)
> 10/06*    Parshas Bereshis
> 10/12*    Rosh Chodesh Heshvan (Beginning of the month of Heshvan)
> 10/13*    Parshas Noach
> 10/13*    Rosh Chodesh Heshvan (Beginning of the month of Heshvan)
> 10/20*    Parshas Lech-Lecha
> 10/27*    Parshas Vayera
> 11/03*    Parshas Chayei Sara
> 11/10*    Parshas Toldos
> 11/11*    Rosh Chodesh Kislev (Beginning of the month of Kislev)
> 11/17*    Parshas Vayetzei
> 11/24*    Parshas Vayishlach
> 12/01*    Parshas Vayeshev
> 12/04*    Erev Chanukah
> 12/04*    Light 1st candle
> 12/05*    Chanukah (First Day)
> 12/05*    Light 2nd candle
> 12/06*    Chanukah (Second Day)
> 12/06*    Light 3rd candle
> 12/07*    Chanukah (Third Day)
> 12/07*    Light 4th candle
> 12/08*    Chanukah (Fourth Day)
> 12/08*    Parshas Miketz
> 12/08*    Light 5th candle
> 12/09*    Chanukah (Fifth Day)
> 12/09*    Light 6th candle
> 12/10*    Chanukah (Sixth Day)
> 12/10*    Rosh Chodesh Tevet (Beginning of the month of Tevet)
> 12/10*    Light 7th candle
> 12/11*    Chanukah (Seventh Day)
> 12/11*    Light 8th candle
> 12/12*    Chanukah (Eight Day)
> 12/15*    Parshas Vayigash
> 12/19*    Asara B'Tevet
> 12/19*    Fast of Asara B'Tevet (Babylonians put siege on Jerusalem;
> fast day) 12/22*    Parshas Vayechi
> 12/29*    Parshas Shemos
>
>
> #endif /* !_calendar_judaic_ */
>
>
> _________________________________________________________________
> Hotmail: שירות דואר אלקטרוני מהימן ועשיר המסופק בחינם.
> https://signup.live.com/signup.aspx?id=60969
> _______________________________________________
> Linux-il mailing list
> Linux-il at cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il



-- 
Stan Goodman
Qiryat Tiv'on
Israel



More information about the Linux-il mailing list