<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>KosherJava &#187; Software Dev</title>
	<atom:link href="http://www.kosherjava.com/tag/software-dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kosherjava.com</link>
	<description>A weblog about Kosher Coffee (Kosher Java), Zmanim and other odds &#38; ends</description>
	<lastBuildDate>Sun, 04 Jul 2010 19:55:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>New release of the Hebrew Date Plugin for WordPress</title>
		<link>http://www.kosherjava.com/2010/07/04/new-release-of-the-hebrew-date-plugin-for-wordpress/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-release-of-the-hebrew-date-plugin-for-wordpress</link>
		<comments>http://www.kosherjava.com/2010/07/04/new-release-of-the-hebrew-date-plugin-for-wordpress/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 19:55:55 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Hebrew Date]]></category>
		<category><![CDATA[WordPress Plugin]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=722</guid>
		<description><![CDATA[Mike who took over development of the WordPress Hebrew Date plugin in 2006, released a new version of the plugin. The WordPress Hebrew Date plugin is now hosted at the WordPress plugin repository. This should make it easier for people to find and update the plugin. New in this version is support for the WordPress [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/WPMug.png" alt="WordPress Mug"/><a href="http://mikeage.net/">Mike</a> who <a href="http://www.kosherjava.com/2006/11/05/hebrew-date-plugin-has-a-new-home/">took over development</a> of the WordPress <a href="http://www.kosherjava.com/wordpress/hebrew-date-plugin/">Hebrew Date  plugin</a> in 2006, released a new version of the plugin. The <a href="http://wordpress.org/extend/plugins/hebrewdates/">WordPress Hebrew Date plugin</a> is now hosted at the <a href="http://wordpress.org/extend/plugins/">WordPress plugin repository</a>. This should make it easier for people to find and update the plugin. New in this version is support for the WordPress 3.0 default theme, a general rewrite, and expansion of the API calls intercepted by the plugin. See the <a href="http://wordpress.org/extend/plugins/hebrewdates/changelog/">changelog page</a> for a more detailed list of all the changes. Please <a href="http://mikeage.net/personal/contact-information/"> contact Mike</a> with any suggestions, comments or bugs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2010/07/04/new-release-of-the-hebrew-date-plugin-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FAQ: Why Some Zmanim Never Occur (Developers Beware)</title>
		<link>http://www.kosherjava.com/2010/06/02/faq-why-some-zmanim-never-occur-developers-beware/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=faq-why-some-zmanim-never-occur-developers-beware</link>
		<comments>http://www.kosherjava.com/2010/06/02/faq-why-some-zmanim-never-occur-developers-beware/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 02:30:11 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Arctic Circle]]></category>
		<category><![CDATA[Latitude and Longitude]]></category>
		<category><![CDATA[null]]></category>
		<category><![CDATA[Software Bugs]]></category>
		<category><![CDATA[Twilight]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=671</guid>
		<description><![CDATA[Question: Why do Some Zmanim Never Occur in Some Locations? (Developers Beware) Answer: While most people realize that the sun may not rise or set in the Arctic and Antarctic Circles (see the Star-K&#8217;s When Does One Pray When There Is No Day), many are not aware that some twilight dips will not occur during [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/EnglandTwilightMap.png" alt="England Twilight Map" title="England Twilight Map" /><br />
<h2>Question:</h2>
<p>Why do Some Zmanim Never Occur in Some Locations? (Developers Beware)</p>
<h2>Answer:</h2>
<p>While most people realize that the sun may not rise or set in the <a href="http://en.wikipedia.org/wiki/Arctic_Circle">Arctic</a> and <a href="http://en.wikipedia.org/wiki/Antarctic_Circle">Antarctic</a> Circles (see the Star-K&#8217;s <a href="http://www.star-k.org/kashrus/kk-whendoesonepraywhenthereisnoday.htm">When Does One Pray When There Is No Day</a>),  many are not aware that some twilight dips will not occur during part of the year as far south of the Arctic Circle as London. For example around the <a href="http://en.wikipedia.org/wiki/Summer_solstice">summer solstice</a> in <a href="http://www.kosherjava.com/maps/zmanim2.html?lat=51.5&#038;lng=-0.10&#038;zoom=6&#038;date=2010-06-21">London (on the zmanim map)</a> the sun will never dip far enough below the horizon to reach <a href="http://www.kosherjava.com/zmanim/docs/api/net/sourceforge/zmanim/ComplexZmanimCalendar.html#getAlos16Point1Degrees%28%29">Alos 16°</a>. This happens in London from June 5<sup>th</sup> till July 8<sup>th</sup>. The image seen on the top right (original at <a href="http://www.timeanddate.com/worldclock/sunearth.html?n=136&#038;month=6&#038;day=21&#038;year=2010&#038;hour=0&#038;min=28&#038;sec=0">timeanddate.com</a>) shows various <a href="http://www.kosherjava.com/zmanim/docs/api/net/sourceforge/zmanim/AstronomicalCalendar.html#getBeginAstronomicalTwilight%28%29">civil twilights</a> centered on London on Midnight June 21<sup>st</sup>. Look carefully to see the various bands of twilight. Gateshead will not have Alos 16° from May 16<sup>th</sup> through July 28<sup>th</sup>, while <a href="http://www.kosherjava.com/maps/zmanim2.html?lat=61.189412&#038;lng=-149.86042&#038;zoom=17&#038;date=2010-08-21">Anchorage, Alaska</a> (yes there is a <a href="http://lubavitch.com/centers/detail.html?id=389">Frum Shul in Anchorage</a> with an interesting davening direction issue that will require its own post) will not have Alos 16.1° from April 25<sup>th</sup> to August 20<sup>th</sup>. Zmanim based on sunrise such as <a href="http://www.kosherjava.com/zmanim/docs/api/net/sourceforge/zmanim/ZmanimCalendar.html#getAlos72%28%29">Also 72</a> that is a 72 minute offset of sunrise can be calculated as long as sunrise can be calculated, something that will happen as long as you are not in the Arctic or Antarctic Circles.<br />
For this reason, the Zmanim API will return a <a href="http://en.wikipedia.org/wiki/Pointer_%28computing%29#Null_pointer">null</a> when a zman will not happen. A <a href="http://java.sun.com/javase/6/docs/api/java/lang/Long.html#MIN_VALUE">Long.MIN_VALUE</a> will be returned when a <a href="http://en.wikipedia.org/wiki/Long_integer">long</a> is expected such as in the case of a Shaah Zmanis. While an inconvenience to developers who have to code for this, the alternative of a default date would mean that developers unaware of this would return incorrect zmanim, something far worse than a program error from a <a href="http://java.sun.com/javase/7/docs/api/java/lang/NullPointerException.html">NullPointerException</a>.<br />
In recent weeks two publicly available programs using the Zmanim API ran into issues due to nulls returned for early alos times. Being something not anticipated by the developers, the nulls generated errors in the programs that quickly led to fixes.  For this reason Yitzchok updated the <a href="http://github.com/Yitzchok/Zmanim/">Zmanim .NET project</a> to return the nullable <em>DateTime?</em> instead of the regular DateTime that it had previously been returning. While the <a href="http://www.kosherjava.com/zmanim/docs/api/">Zmanim API documentation</a> always made the possibility of a null being returned possible, I modified the documentation to make this clear on the return value documentation for every zman. Code with the modified documentation was part of the recently released Zmanim API 1.2.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2010/06/02/faq-why-some-zmanim-never-occur-developers-beware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zmanim API 1.2.1 Released</title>
		<link>http://www.kosherjava.com/2010/05/30/zmanim-api-1-2-1-released/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=zmanim-api-1-2-1-released</link>
		<comments>http://www.kosherjava.com/2010/05/30/zmanim-api-1-2-1-released/#comments</comments>
		<pubDate>Mon, 31 May 2010 02:36:11 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Site News]]></category>
		<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Zmanim API Release]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=657</guid>
		<description><![CDATA[The Zmanim API 1.2.1 was released today. Changed in this release were the addition of a few very early Tzais zmanim, and the removal of references to the GregorianCalendar in favor of the base Calendar class to ease Noah Blumenthal&#8217;s use of the Zmanim API in a zmanim application for the BlackBerry. This change has [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/SpilledCoffee.png" alt="Zmanim API 1.2.1 Release" title="Zmanim API 1.2.1 Release" />The Zmanim API 1.2.1 was released today. Changed in this release were the addition of a few very early <em>Tzais</em> zmanim, and the removal of references to the <a href="http://java.sun.com/javase/7/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</a> in favor of the base <a href="http://java.sun.com/javase/7/docs/api/java/util/Calendar.html">Calendar</a> class to ease <a href="http://twitter.com/statichippo">Noah Blumenthal&#8217;s</a> use of the Zmanim API in a zmanim application for the BlackBerry. This change has no impact on functionality as tested using Yitzchok&#8217;s new JUnit tests. Additionally, the JavaDoc <a href="http://www.kosherjava.com/zmanim/docs/api/">Zmanim API documentation</a> was modified to clearly indicate that zmanim can return nulls. A followup post will have details on this.<br />
The main download is the <a href="http://www.kosherjava.com/zmanim/release/zmanim-1.2.1.zip">Zmanim 1.2.1 release</a> zip file that includes source files and JavaDoc documentation. Also available for download (included in the above zip file) is the main <a href="http://www.kosherjava.com/zmanim/lib/zmanim-1.2.1.jar">zmanim-1.2.1.jar</a> and the <a href="http://www.kosherjava.com/zmanim/lib/zmanimAstronomical-1.2.1.jar">zmanimAstronomical-1.2.1.jar</a> that only includes the <a href="http://www.kosherjava.com/zmanim/docs/api/net/sourceforge/zmanim/AstronomicalCalendar.html">AstronomicalCalendar</a>. The removal of the GregorianCalendar was in this class. Additional detail on the downloads can be seen on the <a href="http://www.kosherjava.com/zmanim-project/downloads/">Zmanim Download page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2010/05/30/zmanim-api-1-2-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zmanim API Ported to .NET (C#)</title>
		<link>http://www.kosherjava.com/2010/04/20/zmanim-api-ported-to-net-c/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=zmanim-api-ported-to-net-c</link>
		<comments>http://www.kosherjava.com/2010/04/20/zmanim-api-ported-to-net-c/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 04:07:08 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[VB.NET]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=514</guid>
		<description><![CDATA[Yitzchok ported the Zmanim API from Java to a .NET API using C#. The Zmanim .NET project was released under the LGPL. This is a change from the GPL used by the Java API, something that may change shortly. Also part of the project was the creation of a C# version of the Zmanim CLI, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/PortCityJava240.jpg" alt="Port City Java" title="Port City Java" /><a href="http://twitter.com/yitzchok">Yitzchok</a> ported the <a href="http://www.kosherjava.com/zmanim-project/">Zmanim API</a> from Java to a <a href="http://en.wikipedia.org/wiki/.NET_Framework">.NET</a> API using <a href="http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29">C#</a>. The <a href="http://github.com/Yitzchok/Zmanim/">Zmanim .NET project</a> was <a href="http://github.com/Yitzchok/Zmanim/downloads">released</a> under the <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a>. This is a change from the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt">GPL</a> used by the Java <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API</a>, something that may change shortly. Also part of the project was the creation of a C# version of the Zmanim <a href="http://en.wikipedia.org/wiki/Command-line_interface">CLI</a>, matching <a href="http://dosilinux.wordpress.com/">Moshe Wagner&#8217;s</a> <a href="http://www.kosherjava.com/2009/11/21/zmanimcli-command-line-interface/">Java Zmanim CLI</a>. When developing the project, Yitzchok created the <a href="http://gist.github.com/360934">ZmanimTest</a> <a href="http://www.junit.org">JUnit</a> test case class to confirm that the C# port output matched the Java API. I will likely add this to the core Zmanim API in the near future. <span style="text-decoration: line-through;">The port currently relies on <a href="http://www.ikvm.net/">IKVM</a> assemblies as can be seen in the Java references in the code sample below, mostly because of the lack of a native .NET equivalent of the Java <a href="http://java.sun.com/javase/7/docs/api/java/util/TimeZone.html">TimeZone class</a></span>. Yitzchok also created some <a href="http://github.com/Yitzchok/Zmanim/tree/master/Samples/">examples of the use of the Zmanim .NET API</a> that will be of help to developers. Below are two of the simpler examples in C# and <a href="http://en.wikipedia.org/wiki/Visual_Basic_.NET">VB.NET</a> demonstrating a very simple use of the API to output zmanim from the console.</p>
<h3>C#</h3>
<pre class="brush: csharp;">
using Zmanim.TimeZone;
using Zmanim.TzDatebase; //in Zmanim.TzDatebase.dll assembly
using Zmanim.Utilities;

namespace Zmanim.Samples.Console
{
    class Program
    {
        static void Main(string[] args)
        {
            string locationName = &quot;Lakewood, NJ&quot;;
            double latitude = 40.09596; //Lakewood, NJ
            double longitude = -74.22213; //Lakewood, NJ
            double elevation = 0; //optional elevation
            ITimeZone timeZone = new OlsonTimeZone(&quot;America/New_York&quot;);
            GeoLocation location = new GeoLocation(locationName, latitude, longitude, elevation, timeZone);
            ComplexZmanimCalendar zc = new ComplexZmanimCalendar(location);

            System.Console.WriteLine(&quot;Today's Zmanim for &quot; + locationName);
            System.Console.WriteLine(&quot;Sunrise: &quot; + zc.GetSunrise()); //output sunrise
            System.Console.WriteLine(&quot;Sof Zman Shema MGA: &quot; + zc.GetSofZmanShmaMGA()); //output Sof Zman Shema MGA
            System.Console.WriteLine(&quot;Sof Zman Shema GRA: &quot; + zc.GetSofZmanShmaGRA()); //output Sof Zman Shema GRA
            System.Console.WriteLine(&quot;Sunset: &quot; + zc.GetSunset()); //output sunset

            System.Console.WriteLine(&quot;Press enter to exit.&quot;);
            System.Console.ReadLine();
        }
    }
}
</pre>
<h3>VB.NET</h3>
<pre class="brush: vb;">
mports Zmanim.TzDatebase 'in Zmanim.TzDatebase.dll assembly
Imports Zmanim.Utilities
Imports Zmanim.TimeZone

Module Module1

    Sub Main()
        Dim locationName As String = &quot;Lakewood, NJ&quot;
        Dim latitude As Double = 40.09596 'Lakewood, NJ
        Dim longitude As Double = -74.22213 'Lakewood, NJ
        Dim elevation As Double = 0 'optional elevation
        Dim timeZone As ITimeZone = New OlsonTimeZone(&quot;America/New_York&quot;)
        Dim location As New GeoLocation(locationName, latitude, longitude, elevation, timeZone)
        Dim zc As New ComplexZmanimCalendar(location)

        System.Console.WriteLine(&quot;Today's Zmanim for &quot; &amp; locationName)
        System.Console.WriteLine(&quot;Sunrise: &quot; &amp; zc.GetSunrise().ToString)
        'output sunrise
        System.Console.WriteLine(&quot;Sof Zman Shema MGA: &quot; &amp; zc.GetSofZmanShmaMGA().ToString)
        'output Sof Zman Shema MGA
        System.Console.WriteLine(&quot;Sof Zman Shema GRA: &quot; &amp; zc.GetSofZmanShmaGRA().ToString)
        'output Sof Zman Shema GRA
        System.Console.WriteLine(&quot;Sunset: &quot; &amp; zc.GetSunset().ToString)
        'output sunset
        System.Console.WriteLine(&quot;Press enter to exit.&quot;)
        System.Console.ReadLine()

    End Sub

End Module
</pre>
<p>The current Zmanim .NET TODO list for the project includes:</p>
<ul>
<li style="text-decoration: line-through;">Remove dependency to Java (IKVM assemblies)</li>
<li>The API should follow the <a href="http://msdn.microsoft.com/en-us/library/ms229042.aspx">.NET guidelines</a></li>
<li>Make it <a href="http://en.wikipedia.org/wiki/Language_Integrated_Query">Linq</a> friendly</li>
<li>Add examples how to use this project in a ASP.NET MVC site and WPF Application</li>
<li style="text-decoration: line-through;">Try to get it to work on <a href="http://www.silverlight.net/">Silverlight</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2010/04/20/zmanim-api-ported-to-net-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android Zmanim Using the KosherJava Zmanim API</title>
		<link>http://www.kosherjava.com/2010/04/19/android-zmanim-using-the-zmanim-api/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=android-zmanim-using-the-zmanim-api</link>
		<comments>http://www.kosherjava.com/2010/04/19/android-zmanim-using-the-zmanim-api/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 04:49:39 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=462</guid>
		<description><![CDATA[There are various software projects using the KosherJava Zmanim API. One of the active ones is Jay Gindin&#8217;s open source Android Zmanim app for the Android platform. Activity in the project is constant. The upcoming version allows the selection of a specific calculation for zmanim you want such as the zman Talis/Tefilin pictured here. There [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/AndroidZmanim.png" alt="Android Zmanim" title="Android Zmanim" />There are various software projects using the KosherJava Zmanim API. One of the active ones is Jay Gindin&#8217;s open source <a href="http://code.google.com/p/android-zmanim">Android Zmanim</a> app for the <a href="http://www.android.com/">Android platform</a>. Activity in the project is constant. The upcoming version allows the selection of a specific calculation for zmanim you want such as the zman Talis/Tefilin pictured here. There are plans to add direction to Yerushalayim functionality using the Zmanim API. (For more information on calculating bearing using the API, see <a href="http://www.kosherjava.com/2009/11/29/calculating-the-bearing-to-har-habayis-using-the-zmanim-api/">Calculating the Bearing/Direction to Har Habayis Using the Zmanim API</a> article.) A large part of Jay&#8217;s motivations for developing the code was lezecher nishmas his nephew Shemuel Reuven ben Yehudit Rachel who, lost his battle with cancer on October 21, 2009. The one very minor issue Jay had with the API (and documentation) was the <a href="http://en.wikipedia.org/wiki/Ashkenazi_Jews">Ashkenazi</a> spelling of the zmanim names, something that as an Ashekenazi I do not plan to change <img src='http://www.kosherjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , but as you can see his Android Zmanim front end used <a href="http://en.wikipedia.org/wiki/Sephardi_Jews">Sephardi</a> labeling. Asked how he found the project, he answered with the typical answer to this question<br />
<blockquote>I Googled around, and found your project.</p></blockquote>
<p> One of my goals with the API was to make it easy for developers to use and port. This was confirmed by Jay<br />
<blockquote>I found it to be very easy to pull into my app, even on Android&#8230;no changes necessary, not even a recompile</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2010/04/19/android-zmanim-using-the-zmanim-api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ZmanimPlasma (Linux) Released</title>
		<link>http://www.kosherjava.com/2010/04/12/zmanimplasma-linux-released/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=zmanimplasma-linux-released</link>
		<comments>http://www.kosherjava.com/2010/04/12/zmanimplasma-linux-released/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 03:52:15 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Hebrew Date]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=524</guid>
		<description><![CDATA[Moshe Wagner recently released ZmanimPlasma for the Linux platform. This KDE Plasma desktop widget displays the Hebrew date and zmanim on a Linux desktop. The zmanim calculations use Moshe&#8217;s C++ port Zmanim CLI wrapper that enables a C++ program to call the Java Zmanim API. There are no current plans to make this widget available [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/ZmanimPlasma.png" alt="ZmanimPlasma" title="ZmanimPlasma" /><a href="http://dosilinux.wordpress.com/">Moshe Wagner</a> recently released <a href="http://dosilinux.wordpress.com/2010/03/28/zmanimplasma/">ZmanimPlasma</a>  for the Linux platform. This <a href="http://en.wikipedia.org/wiki/KDE">KDE</a> <a href="http://en.wikipedia.org/wiki/Plasma_%28KDE%29">Plasma</a>  desktop widget displays the Hebrew date and zmanim on a Linux desktop. The zmanim calculations use Moshe&#8217;s <span style="text-decoration: line-through;">C++ port</span> <a href="http://www.kosherjava.com/2009/11/21/zmanimcli-command-line-interface/">Zmanim CLI</a> wrapper that enables a C++ program to call the Java <a href="http://www.kosherjava.com/zmanim-project/">Zmanim API</a>. There are no current plans to make this widget available on any other platform. It can be downloaded from the <a href="http://code.google.com/p/luach/downloads/list">Luach project download page</a>. Moshe has in the past used the Zmanim API for use in Linux and some cross platform projects. These include the above mentioned Zmanim CLI, and <a href="http://www.kosherjava.com/2009/03/14/zmanim-gui-released/">Zmanim GUI</a> that uses the ZmanimCLI.</p>
<p><span style="font-weight:bold;">Updated on 4/13/2010</span> to reflect information from Moshe explaining that this was not a <a href="http://en.wikipedia.org/wiki/Porting">port</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2010/04/12/zmanimplasma-linux-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Calculating the Bearing/Direction to Har Habayis Using the Zmanim API</title>
		<link>http://www.kosherjava.com/2009/11/29/calculating-the-bearing-to-har-habayis-using-the-zmanim-api/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=calculating-the-bearing-to-har-habayis-using-the-zmanim-api</link>
		<comments>http://www.kosherjava.com/2009/11/29/calculating-the-bearing-to-har-habayis-using-the-zmanim-api/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 04:28:14 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Davening]]></category>
		<category><![CDATA[geoid]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Great Circle]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Rhumb Line]]></category>
		<category><![CDATA[WGS84]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=322</guid>
		<description><![CDATA[An earlier &#8220;Bearing to Yerushalayim and Zmanim Map&#8221; post demonstrated the use of JavaScript to render the bearing to Har Habayis on a Google Map. A more detailed follow-up post &#8220;Technical Information about the Bearing to Yerushalayim Map&#8221; dealt with detailed technical information on these calculations. The main Bearing to Yerushalayim and Zmanim Map page [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/javaDir.png" alt="Java direction"/>An earlier <a href="http://www.kosherjava.com/2007/12/30/bearing-to-yerushalayim-and-zmanim-map/">&#8220;Bearing to Yerushalayim and Zmanim Map&#8221;</a> post demonstrated the use of JavaScript to render the bearing to <a href="http://en.wikipedia.org/wiki/Temple_Mount">Har Habayis</a> on a <a href="http://www.kosherjava.com/maps/zmanim.html">Google Map</a>. A more detailed follow-up post <a href="http://www.kosherjava.com/2008/04/07/technical-information-about-the-bearing-to-yerushalayim-map/">&#8220;Technical Information about the Bearing to Yerushalayim Map&#8221;</a> dealt with detailed technical information on these calculations. The main <a href="http://www.kosherjava.com/zmanim-project/bearing-to-yerushalayim-and-zmanim-map/">Bearing to Yerushalayim and Zmanim Map</a> page usually has the most up to date information on the subject. What was not detailed in previously published posts and pages was that most of the calculations available via <a href="http://en.wikipedia.org/wiki/Javascript">JavaScript</a> are now in the core <a href="http://www.kosherjava.com/zmanim-project/">Zmanim API</a>. Available since the July, 2008 <a href="http://www.kosherjava.com/2008/07/17/zmanim-api-11-beta-2-released/">beta 2 release</a> of <a href="http://www.kosherjava.com/zmanim-project/downloads/">version 1.1</a> is the ability to bearings/directions using both the <a href="http://en.wikipedia.org/wiki/Great_circle">great circle</a> and <a href="http://en.wikipedia.org/wiki/Rhumb_line">rhumb line</a> methods in <a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a>. The <a href="http://www.kosherjava.com/zmanim/docs/api/net/sourceforge/zmanim/util/GeoLocation.html">GeoLocation Object</a> was modified to calculate the great circle bearings (both <a href="http://www.kosherjava.com/zmanim/docs/api/net/sourceforge/zmanim/util/GeoLocation.html#getGeodesicInitialBearing(net.sourceforge.zmanim.util.GeoLocation)">initial</a> and <a href="http://www.kosherjava.com/zmanim/docs/api/net/sourceforge/zmanim/util/GeoLocation.html#getGeodesicFinalBearing%28net.sourceforge.zmanim.util.GeoLocation%29">final</a>), and <a href="http://www.kosherjava.com/zmanim/docs/api/net/sourceforge/zmanim/util/GeoLocation.html#getRhumbLineBearing%28net.sourceforge.zmanim.util.GeoLocation%29">rhumb line bearing</a> from any GeoLocation Object to another. In addition, distance calculation between the two points using both of these line types is supported. What was not <a href="http://en.wikipedia.org/wiki/Porting">ported</a> from the JavaScript version was the less accurate <a href="http://en.wikipedia.org/wiki/Haversine_formula">Haversine formula</a>, or the simpler <a href="http://en.wikipedia.org/wiki/Spherical_trigonometry">spherical law of cosines</a> algorithms that yield identical results. Instead, the Zmanim API uses the far more accurate Vincenty formulae using the <a href="http://en.wikipedia.org/wiki/WGS84">WGS84</a> <a href="http://en.wikipedia.org/wiki/Geoid">geoid</a> model of the earth. Published by the geodesist/mathematician <a href="http://en.wikipedia.org/wiki/Thaddeus_Vincenty">Thaddeus Vincenty</a>, it is said to be accurate to about one-half millimeter, more than adequate for our calculation. The code in the API is a Java port of the previously published, slightly <a href="http://www.kosherjava.com/maps/glatlng.js">modified</a> version of <a href="http://www.movable-type.co.uk/">Chris Veness&#8217;s</a>  <a href="http://www.movable-type.co.uk/scripts/latlong-vincenty.html">JavaScript  implementation</a> . Below is a simple Java example of generating bearing and distances.</p>
<pre class="brush: java;">
/**
 * This program demonstrates how to calculate bearing to Yerushalayim
 * using the kosherjava.com Zmanim API. Both the great circle and
 * rhumb line method are shown
 * To compile, ensure that the Zmanim Jar is in your classpath.
 */
import net.sourceforge.zmanim.util.GeoLocation;
import java.util.TimeZone;

public class BearingToYerushalayim{
	public static void main(String [] args) {
		GeoLocation lakewood = new GeoLocation(&quot;Lakewood, NJ&quot;, 40.09596, -74.22213, 0, TimeZone.getTimeZone(&quot;America/New_York&quot;));
		GeoLocation harHabayis = new GeoLocation(&quot;Har Habayis&quot;, 31.77805, 35.235149, 0, TimeZone.getTimeZone(&quot;Asia/Jerusalem&quot;));

		double greatCircleInitialBearing = lakewood.getGeodesicInitialBearing(harHabayis);
		double greatCircleDistance = lakewood.getGeodesicDistance(harHabayis);

		double rhumbLineBearing = lakewood.getGeodesicInitialBearing(harHabayis);
		double rhumbLineDistance = lakewood.getRhumbLineDistance(harHabayis);

		System.out.println(&quot;Great circle initial bearing: &quot; + greatCircleInitialBearing + &quot; degrees &quot;);
		System.out.println(&quot;Great circle distance: &quot; + greatCircleDistance/1000 + &quot; KM&quot;);

		System.out.println(&quot;Rhumb line bearing: &quot; + rhumbLineBearing + &quot; degrees&quot;);
		System.out.println(&quot;Rhumb line distance: &quot; + lakewood.getRhumbLineDistance(harHabayis)/1000 + &quot; KM&quot;);

	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2009/11/29/calculating-the-bearing-to-har-habayis-using-the-zmanim-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZmanimCLI (Command Line Interface)</title>
		<link>http://www.kosherjava.com/2009/11/21/zmanimcli-command-line-interface/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=zmanimcli-command-line-interface</link>
		<comments>http://www.kosherjava.com/2009/11/21/zmanimcli-command-line-interface/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 04:52:50 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Cross Platform]]></category>
		<category><![CDATA[Hebrew Date]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=241</guid>
		<description><![CDATA[Moshe Wagner who wrote the Zmanim GUI notified me in August that that he created a command line interface for zmanim using my Zmanim API. The technical approach of using reflection was similar to the way I used reflection in the Zmanim Clock Applet, but he took it to new heights. Sample use of accessing [...]]]></description>
			<content:encoded><![CDATA[<p>Moshe Wagner who wrote the <a href="http://www.kosherjava.com/2009/03/14/zmanim-gui-released/">Zmanim GUI</a> notified me in August that that he created a <a href="http://en.wikipedia.org/wiki/Command-line_interface">command line interface</a> for zmanim using my <a href="http://www.kosherjava.com/zmanim-project/">Zmanim API</a>. The technical approach of using reflection was similar to the way I used reflection in the <a href="http://www.kosherjava.com/zmanim-project/zmanim-clock-applet/">Zmanim Clock Applet</a>, but he took it to new heights. Sample use of accessing zmanim using his CLI interface is:</p>
<pre class="brush: plain;">moshe@debian:~/Desktop$ java -jar ZmanimCLI.jar sunrise
6:10:28</pre>
<pre class="brush: plain;">moshe@debian:~/Desktop$ java -jar ZmanimCLI.jar --date 2010/08/12 tzais72
20:38:15</pre>
<pre class="brush: plain;">moshe@debian:~/Desktop$ java -jar ZmanimCLI.jar
Usage: ZmanimCLI [options] [Time]

Options:
       -d      --date &lt;yyyy/mm/dd&gt;             Set date. (Year first!)
       -lat    --latitude &lt;latitude&gt;           Set location's latitude
       -lon    --longitude &lt;longitude&gt;         Set location's longitude
       -e      --elevation &lt;elevation&gt;         Set location's
elevation; Positive only
       -tz     --timezone &lt;timezone&gt;           Set location's TimeZone

Help:
       -h      --help                          Show this help
       -stl    --time-list                     Show common available
times to display
       -ftl    --full-time-list                Show all available
times to display
       -tzl    --timezone-list                 Show available timezones

Example:
       ZmanimCLI --latitude 31.7780 --longitude 35.235149 --elevation
600 --timezone Israel Sunrise
       Will show the sunrise time today in Jerusalem</pre>
<p>While your first reaction may be that it is interesting in a theoretical geeky way, but has no practical value, I will quote Moshe&#8217;s explanation as to why it is useful:</p>
<blockquote><p>Why is this useful?<br />
Well, first of all it was a nice experiment. But mainly, you can now use Zmanim (although externally), via any language you want, no longer being tied to Java.</p></blockquote>
<p>Months later, Moshe actually put this to practical use in his C++ based <a href="http://code.google.com/p/luach/">Luach</a> project. This Luach (similar to the known <a href="http://www.kaluach.com/">Kaluach</a>) uses the <a href="http://en.wikipedia.org/wiki/Qt_%28toolkit%29">Qt</a> framework. utilizing <a href="http://libhdate.sourceforge.net">libhdate</a> for the date stuff (something not offered by the Zmanim API, and the topic of a future <a href="http://www.kosherjava.com/tag/faq/">Zmanim API FAQ</a>), displaying zmanim using the Zmanim API via CLI for the zmanim calculations. While you would expect such an approach to be slow, using the Luach seemed almost instantaneous. I will post more about his Luach program (recently reviewed at <a href="http://kosherdev.com">KosherDev.com</a>) at some point in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2009/11/21/zmanimcli-command-line-interface/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FAQ: Where is the Zmanim API Main Method?</title>
		<link>http://www.kosherjava.com/2009/11/05/faq-where-is-the-main-method/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=faq-where-is-the-main-method</link>
		<comments>http://www.kosherjava.com/2009/11/05/faq-where-is-the-main-method/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 22:08:31 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[FAQ]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=215</guid>
		<description><![CDATA[Question: Where is the main method? Answer: This is a more technical variant of the &#8220;How do I install the Zmanim API Program?&#8221;, but coming from someone who already knows that it is a Java program that can’t be installed, but assumes that it can be run. The main method is the entry point to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/coffeeQuestion.jpg" alt="Java FAQ"/><br />
<h2>Question:</h2>
<p>Where is the main method?</p>
<h2>Answer:</h2>
<p>This is a more technical variant of the <a href="http://www.kosherjava.com/2009/11/05/faq-how-do-i-install-the-zmanim-api-program/">&#8220;How do I install the Zmanim API Program?&#8221;</a>, but coming from someone who already knows that it is a <a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a> program that can’t be installed, but assumes that it can be run. The <a href="http://en.wikipedia.org/wiki/Main_function#Java">main method</a> is the entry point to a Java program. Since this is a <a href="http://en.wikipedia.org/wiki/Library_%28computer_science%29">library/API</a> and not a program, it does not have a main method. The code to generate zmanim is spelled out in the <a href="http://www.kosherjava.com/zmanim-project/how-to-use-the-zmanim-api/">How to Use the Zmanim API page</a> (that will hopefully be updated in the near future). Below is a full example of a very simple zmanim program that outputs sunrise, sof zman krias shema and sunset for the current day in <a href="http://en.wikipedia.org/wiki/Lakewood_Township,_New_Jersey">Lakewood, NJ</a>. Please ensure that the Zmanim <a href="http://en.wikipedia.org/wiki/JAR_%28file_format%29">jar</a> (<a href="http://www.kosherjava.com/zmanim-project/downloads/">download</a>) is in your <a href="http://en.wikipedia.org/wiki/Classpath_%28Java%29">classpath</a>.</p>
<pre class="brush: java;">
/**
 * This program is a simple demonstration of the kosherjava.com Zmanim API.
 * To compile, ensure that the Zmanim Jar is in your classpath.
 */
import net.sourceforge.zmanim.*;
import net.sourceforge.zmanim.util.*;
import java.util.TimeZone;
public class SimpleZmanim{
	public static void main(String [] args) {
		String locationName = &quot;Lakewood, NJ&quot;;
		double latitude = 40.09596; //latitude of Lakewood, NJ
		double longitude = -74.22213; //longitude of Lakewood, NJ
		double elevation = 0; //optional elevation
		//use a Valid Olson Database timezone listed in java.util.TimeZone.getAvailableIDs()
		TimeZone timeZone = TimeZone.getTimeZone(&quot;America/New_York&quot;);
		//create the location object
		GeoLocation location = new GeoLocation(locationName, latitude, longitude, elevation, timeZone);
		//create the ZmanimCalendar
		ZmanimCalendar zc = new ZmanimCalendar(location);
		System.out.println(&quot;Today's Zmanim for &quot; + locationName);
		System.out.println(&quot;Sunrise: &quot; + zc.getSunrise()); //output sunrise
		System.out.println(&quot;Sof Zman Shema GRA: &quot; + zc.getSofZmanShmaGRA()); //output Sof Zman Shema GRA
		System.out.println(&quot;Sunset: &quot; + zc.getSunset()); //output sunset
	}
}
</pre>
<p>The following would <a href="http://en.wikipedia.org/wiki/Compiler">compile</a> and <a href="http://en.wikipedia.org/wiki/Execution_%28computing%29">execute</a> this code (sample from a <a href="http://en.wikipedia.org/wiki/COMMAND.COM">DOS prompt</a> in Windows).</p>
<pre class="brush: plain;">
C:\path\to\code&gt;javac SimpleZmanim.java

C:\path\to\code&gt;java SimpleZmanim

Today's Zmanim for Lakewood, NJ
Sunrise: Thu Nov 05 06:30:27 EST 2009
Sof Zman Shema GRA: Thu Nov 05 09:05:21 EST 2009
Sunset: Thu Nov 05 16:50:02 EST 2009
</pre>
<p>Please see the <a href="http://www.kosherjava.com/zmanim/docs/api/">Zmanim API documentation</a> for a more complete view of the API.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2009/11/05/faq-where-is-the-main-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zmanim Calendar Generator Can Now Output Fewer Zmanim</title>
		<link>http://www.kosherjava.com/2009/05/18/zmanim-calendar-generator-can-now-output-less-zmanim/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=zmanim-calendar-generator-can-now-output-less-zmanim</link>
		<comments>http://www.kosherjava.com/2009/05/18/zmanim-calendar-generator-can-now-output-less-zmanim/#comments</comments>
		<pubDate>Tue, 19 May 2009 03:00:44 +0000</pubDate>
		<dc:creator>KosherJava</dc:creator>
				<category><![CDATA[Site News]]></category>
		<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Zmanim]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Tfilah]]></category>

		<guid isPermaLink="false">http://www.kosherjava.com/?p=174</guid>
		<description><![CDATA[After numerous requests, the Zmanim Calendar Generator can now output a less extensive list of zmanim. While the &#8220;full&#8221; calendar option (the default) generates an Excel spreadsheet with 108 columns of zmanim, the &#8220;standard&#8221; output generates a spreadsheet with 15 columns containing the most commonly used zmanim. The exact list of what constitutes commonly used [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="/images/calendarJava.png" alt="Java Calendar"/>After numerous requests, the <a href="http://www.kosherjava.com/zmanim-project/zmanim-calendar-generator/">Zmanim Calendar Generator</a> can now output a less extensive list of zmanim. While the &#8220;full&#8221; calendar option (the default) generates an <a href="http://en.wikipedia.org/wiki/Microsoft_Excel">Excel</a> spreadsheet with 108 columns of zmanim, the &#8220;standard&#8221; output generates a spreadsheet with 15 columns containing the most commonly used zmanim. The exact list of what constitutes commonly used zmanim is likely to be tweaked over time. The spreadsheet was initially designed for <a href="http://en.wikipedia.org/wiki/Software_developer">developers</a> as a sample of the various zmanim available in the <a href="http://en.wikipedia.org/wiki/API">API</a> . Developers can compare the output of their zmanim using the API, or a ported version of the API to the spreadsheet for accuracy. Based on feedback, many people use it to generate <a href="http://en.wikipedia.org/wiki/Synagogue">shul</a> calendars, and wanted a less daunting list of zmanim.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kosherjava.com/2009/05/18/zmanim-calendar-generator-can-now-output-less-zmanim/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
