Ordisoftware / Hebrew-Calendar

Lunisolar calendar generator with shabbat and celebrations reminder for Windows .NET
https://www.ordisoftware.com/hebrew-calendar
Mozilla Public License 2.0
9 stars 0 forks source link
bible calendar hebrew hebrew-bible hebrew-calendar lunar lunisolar moon moonrise reminder shabbat solar sqlite sqlite-net sun sunrise torah windows winforms

License MPL 2.0  GitHub all releases downloads  GitHub release (latest by date)  GitHub repo size  GitHub code size in bytes  Lines of code 
OS: Windows  UI: WinForms  Framework: .Net  IDE: Visual Studio  Lang: C#  DB: SQLite 
Ordisoftware.com Project  Manufacturing Software Guidelines 

Hebrew Calendar

A libre and open-source software written in C# that allows to generate a calendar based on solar and lunar cycles in order to determine the new year and the celebration times according to the Hebrew Torah, as well as to remind Shabbat and Pessa'h, Shavuot, Rosh Hashanah, Kippur and Sukkot festivities.

Table of content

  1. Functionalities
  2. Review
  3. Requirements
  4. Download
  5. Screenshots
  6. Videos
  7. System FAQ
  8. Application FAQ
  9. Command-line options
  10. Keyboard shortcuts
  11. Future improvements
  12. Changelog

Functionalities

Review

Requirements

Download

What's new in the latest version 11

WARNING The date bookmarks system has been updated to be stored in database: earlier versions of the software will not be able to load them.

Last release

Screenshots

Monthly view    Text report view

Next celebrations    Parashot board

Celebrations board    New moons board

Navigation window    Dates diff calculator

Reminder box celebration    Reminder box Shabat

Lock session box    

Preferences window 1    Preferences window 2

Preferences window 3    Preferences window 4

Preferences window 5    Export box

Videos

Monthly view showing video    Showing video

System Frequently asked questions

What code analyzers are used in addition to Visual Studio?

IDE Extension Project NuGet
SonarLint
Roslynator
F0.Analyzers
Parallel Helper
Parallel Checker
AsyncFixer
Async Method Name Fixer
U2U Consult Performance Analyzers
TSQL Analyzer
Serilog Analyzer
Security Code Scan
Puma Scan
SharpSource
Inclusiveness Analyzer
Microsoft.CodeAnalysis.NetAnalyzers
Microsoft.VisualStudio.Threading.Analyzers
MultithreadingAnalyzer
Meziantou.Analyzer
GCop.All.Common
ReflectionAnalyzers
IDisposableAnalyzers
ErrorProne.NET.CoreAnalyzers
ErrorProne.NET.Structs





What to do if the check update tells that the SSL certificate is wrong or expired?

The software verifies the validity of the certificate of the update server in addition to the SHA-512 checksum of the installation file before downloading and running it.

You can manually check the latest version available online in case of problem.

What to do if the application does not work normally despite restoring settings?

Use the Start Menu link:

Ordisoftware\Hebrew Calendar\Reset Hebrew Calendar settings

This will erase all settings as well as those of old versions, which should resolve issues if there is a conflict, otherwise please contact support.

What is the Windows double-buffering?

When enabled, this will speed up rendering of the main form when it is displayed, but it may cause a slight black flicker.

When disabled, top menu and some controls painting may cause latency, and dynamic items can be generated slowly the larger the number.

What to do if the monthly view is ugly?

Reset the preferences to default: it will restore the corrupted values in case of a problem after install or upgrade.

What are known problems?

Data generated for cities near the poles can be inconsistent the closer we get, especially with the moon omer, due to some weird ephemeris and various problems with ranges.

Thus celebration dates may be wrong.

Application Frequently asked questions

Why do the dates generated differ from those in the Hebrew authorities' calendar?

The dates generated with the strict omer of the moon or the sun can differ from those in the Hebrew authorities' calendar, but astronomically speaking, there is no mistake, unless there is a problem to be corrected.

The software calculates the days according to the moon or the sun and various parameters relating to the stars and the seasons which mean that the dates can sometimes differ at certain points of the calendar established according to traditional standards.

Thus the software can sometimes indicate the same days as the official calendar, and sometimes one to two or three days of shift, because of the new moon date which is sometimes not in astronomical correspondence, and the same goes for the calculation of holidays.

It can also happen that over 10 or 20 years there is a lag of one month due to Adar II due to the calculation rule used to determine the 1st Nissan and Pessa'h which is that Pessa'h is the 14th day of the first seasonal month in the first full moon following the spring equinox.

But even with these lags, Pessa'h, according to the software, is still the first new moon following the spring equinox, and if it lags it falls at worst as the traditional calendar's Pessa'h Sheni, or vice versa, and within a few hours which generally remain within the 3% universal margin.

The software does not yet offer an option to generate a calendar conforming to the Halakhah of Sod HaH'ibur סוד העיבר or science of the moving stars.

What are the times of celebration?

The times of the Torah's celebrations are Pessa'h or Easter which is the liberation of illusions, Shavuh'ot or Weeks which is the gift of knowledge, Teruh'ah or Ringtone which is the joy of being freedom, Kipurim or Atonement which is the sorrows of losses, and Sukot or Tabernacles which is the construction of the future.

These are important moments of the lunar year in the solar cycle whose purpose is to provide a benevolent evolution of consciousness by the knowledge of the laws of the universe and of life. The Torah says to count these days according to the moon, as opposed to Shabat which is counted according to the sun.

The application uses by default moon omer for celebrations.

If you use moon omer then celebrations dates will be calculated according to seasons and there will be an inversion between north and south hemispheres. In this case, a day is from one moon set to the next set.

You can use traditional sun days by modifying the option of the generator, hence celebrations will be same in north and south. In this case, a day is from one sun set to the next set.

What food for the celebrations?

A description of Torah recipes for celebrations will be available soon:

Regarding the author's current understanding of the main themes, the Torah describing many other more complex things.

What is Shabat?

The Shabat is the "day of rest" where one do not work for a livelihood. Unless there is a vital emergency, the body, the emotions and the spirit are resting there. The study of the Torah is a privileged activity.

The tradition attributes this day to Saturday. We can however think according to Bereshit 1.1 that in the case where the first day is the day of birth as a corollary to the fusion of the gametes then it takes place the day before: thus a person coming to the world on a Sunday will have his Shabat the Saturday. From Bereshit 1.5 and 1.16 as well as from Shemot 20.8 it can be deduced that it lasts from sunset on the eve of the calendar day to sunset on the same day. For example, for a person born in Paris, the Shabat of February 19, 2019 takes place from Friday 18 at 17:25 to Saturday at 17:25 approximately.

The personal Shabat of a married or concubin or divorced man is the previous day of the birth. A son follows his father's Shabat. The Shabat of a woman is the Shabat of her father or her husband or her concubin. So the man and the woman respect their mutual cycles. Indeed, during the period when the married or concubine or divorced woman is Nidah from the beginning to the end of the blood flow, her vital field is dissonant and the couple avoid touching each other (the virgin girl is not concerned as long as she had no relations through the openings of the begetting) to avoid to increase as well as to transmit this state to things and people (otherwise we follow the rules of the Torah about that).

If the man were born between midnight and the sunset, the Shabat is the day before. Between sunset and midnight, the Shabat is that day. This day is from previous day (or previous previous day) at sunset to this day (or previous day) at sunset. The day of the Shabat goes from sunset on the previous calendar day to sunset of that day, with 3% of natural margin that to say about one hour. The day before, either the man keeps without going out and strengthens the couple during the Shabat, or he goes out and lights up the couple for Shabat, but on Shabat he does not go out of his temple, and except in case of emergency we do not produce, transform and destroys nothing, we don't plan anything, we don't work, we don't cook, we don't shave, we don't cut, we don't make fire, we don't care about information, etc. But we can for example take part in sports, study science and play with children.

If you prefer to use the traditional group Shabat, select for example Saturday for Judaism, Sunday for Christianity or Friday for Islam.

What are parashot?

The study of the Weekly Torah portion begins at Shim'hat Torah with the Bereshit section on 22 Tishri in the Land of Israel, or on 23 in Mitsraïm and in the desert, that is on the last day of Sukot, or the next day.

It ends with full reading on Shabat, or the next Shabat if Shim'hat Torah occurs on Shabat. The day after Shabat we move on to the next Parashah that we study during the week by reading comments, listening to conferences, learning about science, and examining letters, words and verses, to read it in full on Shabat. And so on from week to week to go through the Torah in a year to build a better future world for oneself, for one's family, for one's community, for one's country, for the Nations, and for the species, thanks to Pessa'h, Shavuh'ot, Teruh'ah, Kipurim, and Sukot.

Israël is the conceptual worldwide land of the righteous benevolent whose body+spirit, and therefore DNA, is to some notable extent free from ignorance and evil. Shim'hat Torah means "Joy [bestowed by the] Torah" and a Lettriq of Shim'hat is "Sharing of the Service which Sustains the Matter": it is therefore the joy resulting from the beneficial help of the Torah and those which follow the laws of the country where one lives and the Doctrine of YHVH which have for one and only fundamental purpose to protect the life and the goods of the people without harming even the wicked and the criminals.

The number of Parashot is 54 that is to say נד which is the Power of the Student, and that root means Passing from the world of malevolence to that of benevolence.

The generation of Parashot relating to Shabatot with the omer of the moon or the sun without the Sod HaH'ibur is not guaranteed to be traditional especially as the application generates dates, although based on the lunar cycle, which can sometimes vary a little from official calendars, especially if the moon omer is used and even more with the personal Shabat.

Command-line options

These options are cumulative, and can be used to control the software when it is already running, but if this case this only works for administrator users.

How to configure AutoHotkey?

It is therefore possible to use AutoHotKey to define for example this Shift + Ctrl + Alt + P command:

!^+P:: 
  appPath := "C:\Program Files\Ordisoftware\Hebrew Calendar\Bin\"
  appExe := "Ordisoftware.Hebrew.Calendar.exe"
  sleep 500
  Run %appPath%%appExe% --parashot
  return

Keyboard shortcuts

Keys Actions
Ctrl + Tab Next view
Shift + Ctrl + Tab Previous view
F1 Text report view
F2 monthly view
F3 Database grid view
F4 Next celebrations window
F5 Search a celebration window
F6 Search a moon month window
F7 Search a gregorian month window
F8 (or Ctrl + N) Navigation window
Ctrl + T (or Numpad0) Go to today
Ctrl + B (or Decimal) Go to selected day
Ctrl + D Search a day
Ctrl + S Save current view to a file
Ctrl + C Copy current view to clipboard
Ctrl + P Print current view
Ctrl + Shift + C Copy the text report selection to clipboard
Alt + V View menu
Alt + T Tools menu
Alt + L Web links menu
Alt + H Help menu
Alt + S Settings menu
Alt + I Information menu
Alt + E Export folder
Alt + C Windows calculator
Alt + D Windows date and time settings
Alt + M Windows weather
Alt + W Online weather
Alt + G Generate calendar
Alt + P Show online parashah menu
Alt + B Manage bookmarks
Alt + N Notices window
Ctrl + F1 Parashot board
Ctrl + F2 Celebration verses board
Ctrl + F3 Celebrations board
Ctrl + F4 New moons board
Ctrl + F5 Lunar months board
Ctrl + Shift + S Verses on Shabat
Ctrl + Shift + D Dates difference calculator
Home First month available in the database
End Last month available in the database
Up (or PageUp) Previous year
Down (or PageDown) Next year
Left Previous month
Right Next month
Ctrl + Left Previous month having a celebration
Ctrl + Right Next month having a celebration
Ctrl + Home First month having a celebration
Ctrl + End Last month having a celebration
Shit + Up Semaine précédente
Shit + Down Previous week
Shit + Left Previous day
Shit + Right Next day
Alt + Left : Previous lunar month
Alt + Right : Next lunar month
Alt + Up (or PageUp) : Previous lunar year
Alt + Down (or PageDown) : Next lunar year
Add or Sub Change active day
Shift + Click Set active day
Ctrl + Click Select day
F9 Preferences
F10 Log file window
F11 Usage statistics window
F12 About
Alt + F4 (or Escape) Close window
Ctrl + Alt + F4 Exit application

Future improvements

Priority

Application

Data

Changelog

In progress - Version 11.0

  • Add omer day number for shavou'hot part one in the textual and visual calendar.
  • Add button to add days in the dates difference window.
  • Add submenu for all weather providers
  • Add save screenshot to file
  • Add option to preselect only the previous year, the current year and the next year in boards.
  • Improve shavouh'ot diet reminder box to indicate full length and not only the first day.
  • Fix timer which displays parashah description box when the day before is not Shabbat.
  • Fix Yom Teruh'ah reminder box still showing when finished.

2024.05.10 - Version 10.4.1

2023.04.05 - Version 10.4

2023.03.03 - Version 10.3

2023.01.08 - Version 10.2

2022.11.15 - Version 10.1

2022.11.03 - Version 10.0

2022.09.25 - Version 9.33

2022.09.14 - Version 9.32

2022.08.10 - Version 9.31

2022.08.05 - Version 9.30

2022.06.21 - Version 9.29

2022.04.05 - Version 9.28

2022.03.20 - Version 9.27

2022.03.01 - Version 9.26

2022.02.22 - Version 9.25

2022.02.08 - Version 9.24

2022.02.01 - Version 9.23

2021.12.31 - Version 9.22

2021.12.28 - Version 9.21

2021.12.24 - Version 9.20

2021.12.23 - Version 9.19

2021.12.21 - Version 9.18

2021.12.19 - Version 9.17

2021.12.16 - Version 9.16

2021.12.05 - Version 9.15

2021.11.30 - Version 9.14

2021.11.25 - Version 9.13

2021.11.21 - Version 9.12

2021.11.14 - Version 9.11

2021.11.09 - Version 9.10

2021.10.17 - Version 9.9

2021.10.08 - Version 9.8

2021.10.02 - Version 9.7

2021.09.29 - Version 9.6

2021.09.26 - Version 9.5

2021.09.24 - Version 9.4

2021.09.23 - Version 9.3

2021.09.22 - Version 9.2

2021.09.20 - Version 9.1

2021.09.19 - Version 9.0

2021.09.06 - Version 8.10

2021.09.05 - Version 8.9

2021.08.30 - Version 8.8

2021.08.20 - Version 8.7

2021.08.13 - Version 8.6

2021.08.10 - Version 8.5

2021.08.08 - Version 8.4

2021.08.05 - Version 8.3

2021.07.23 - Version 8.2

2021.05.31 - Version 8.1

2021.05.28 - Version 8.0

2021.05.09 - Version 7.3

2021.04.30 - Version 7.2

2021.04.15 - Version 7.1

2021.03.23 - Version 7.0

2021.02.17 - Version 6.8

2021.02.14 - Version 6.7

2021.02.07 - Version 6.6

2021.02.03 - Version 6.5

2021.01.31 - Version 6.4

2021.01.10 - Version 6.3

2021.01.01 - Version 6.2

2020.12.27 - Version 6.1

2020.12.21 - Version 6.0

2020.12.13 - Version 5.13

2020.12.12 - Version 5.12

2020.12.06 - Version 5.11

2020.12.01 - Version 5.10

2020.11.26 - Version 5.9

2020.11.22 - Version 5.8

2020.11.18 - Version 5.7

2020.11.15 - Version 5.6

2020.09.29 - Version 5.5

2020.09.25 - Version 5.4

2020.09.18 - Version 5.3

2020.09.11 - Version 5.2

2020.09.08 - Version 5.1

2020.09.06 - Version 5.0

2020.08.22 - Version 4.1

2020.04.24 - Version 4.0

2019.11.12 - Version 3.10

2019.11.11 - Version 3.9

2019.11.04 - Version 3.8

2019.11.01 - Version 3.7

2019.10.21 - Version 3.6

2019.10.21 - Version 3.5

2019.10.19 - Version 3.4

2019.10.18 - Version 3.3

2019.10.17 - Version 3.2

2019.10.16 - Version 3.1

2019.10.14 - Version 3.0

2019.09.19 - Version 2.4

2019.09.15 - Version 2.3

2019.09.10 - Version 2.2

2019.09.04 - Version 2.1

2019.08.26 - Version 2.0

2019.08.25 - Version 1.10

2019.08.24 - Version 1.9

2019.05.22 - Version 1.8

2019.04.25 - Version 1.7

2019.04.08 - Version 1.6

2019.01.28 - Version 1.5

2019.01.21 - Version 1.4

2019.01.20 - Version 1.3

2019.01.18 - Version 1.2

2019.01.17 - Version 1.1

2019.01.14 - Version 1.0