
<!--
 - Copyright (c) 2013, 2017 The Eclipse Scout Team, UT-Battelle, LLC., Kichwa Coders Ltd and others.
 - All rights reserved. This program and the accompanying materials
 - are made available under the terms of the Eclipse Public License v1.0
 - which accompanies this distribution, and is available at
 - http://www.eclipse.org/legal/epl-v10.html
 -
 - Contributors:
 -   Initial API and implementation and/or initial documentation: Kichwa Coders Ltd. adopted from Eclipse ICE webpage.
 -->

<!-- HTML5 Doc Type Declaration -->
<!DOCTYPE html>
<html lang="en">
<!-- Create the header -->
<head>
<!-- Set the metadata type and the browser title -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Eclipse January</title>
<!-- This next bit adds all the little browser favicons that show up in tabs
and bookmarks and other such things. -->
<link rel="icon" type="image/png" href="images/favicon.ico">
<!-- Bootstrap CSS file link. This is Bootstrap 3.0.2, not 2.3.2! -->
<link rel="stylesheet" href="css/bootstrap.min.css" type="text/css">
<!-- Extra style file with custom settings from Eclipse Scouts -->
<link rel="stylesheet" href="css/ionicons.min.css" type="text/css">
<link rel="stylesheet" href="css/style.css" type="text/css">
</head>
<!-- Create the body -->
<body>
<!--
	<nav class="navbar navbar-default navbar-fixed-bottom">
		<div class="eclipse-con">
			JOIN US
		</div>
	</nav>
-->
	<!-- Create the Navbar -->
	<nav class="navbar navbar-default navbar-fixed-top">
		<!-- Create the outermost container that will center everything -->
		<div class="container">
			<!-- Add the header -->
			<div class="navbar-header">
					<!-- This adds a button to toggle nav bar -->
					<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
						<span class="sr-only">Toggle navigation</span>
						<span	class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span	class="icon-bar"></span>
					</button>
					<a href="#intro"><img src="images/eclipse3.png" alt=""></a>
					<a href="https://science.eclipse.org/"><img src="images/eclipsesci.png" alt=""></a>
			</div>
			<!-- Add the links -->
			<div class="collapse navbar-collapse" id="navbar">
				<ul class="nav navbar-nav" id="section">
					<li><a href="#section-whatis">What is January</a></li>
					<li><a href="#try">Try it out</a></li>
					<li><a href="#why">Why use it</a></li>
          <li><a href="#download">Downloads</a></li>
          <li><a href="#whos">Resources</a></li>
          <li><a href="#contact">Contact</a></li>
				</ul>
			</div>
			<!-- End container -->
		</div>
		<!-- End Navbar -->
	</nav>

	<!-- Start the "intro" banner image section -->
	<div class="wrapper">
		<div class="intro" id="intro">
			<div class="intro-image">
				<img src="images/home.jpg" alt="" />
				<!-- End intro-image -->
			</div>

			<!-- This section creates the text in the middle -->
			<div class="container">
				<div class="row">
					<div class="col-md-12">
						<div class="intro-inner">
							<div class="intro-content">
								<h1>Eclipse January</h1>
								<p>Java Data Structures for Science</p>
							</div>
						</div>
					</div>
				</div>
			</div>
			<!-- End intro -->
		</div>

		<!-- All of the "real" content of the site below the central image starts here. -->
		<div class="main">
			<div class="content">
				<!-- Start the "What is January?" section -->
				<section class="section-whatis" id="section-whatis">
					<div class="container">
						<br><br><br><br>
						<div class="row">
							<div class="section-head">
								<h3>What is January?</h3>

                <p>
								Eclipse January is a set of libraries for handling numerical data in Java. It is inspired in part by NumPy and aims to provide similar functionality.
								<br>
								</p>
								<!--  End section-head -->
							</div>
						</div>
					</div>
				</section>

				<!-- Start the "Who's involved" section -->
				<div class="white-spacer" id="try"></div>
				<section class="section-with-image" id="section-try">
					<div class="container">
						<div class="row">
							<!-- This is the left side of the row where the text goes -->
							<div class="col-md-9">
								<div class="section-imagine-on-right-content">
									<h2>
										<b>TRY IT OUT</b>
									</h2>
									<p>
										►
										<a href="https://github.com/eclipse/january/tree/master/org.eclipse.january.examples#eclipse-january-examples-and-getting-started"><b> Getting Started Guide.</b></a>
		                <br>
		                <br>
		                <a href="https://www.katacoda.com/tracymiranda/scenarios/getting-started-january"><b>Quickstart Interactive Lab</b></a>  A step-by-step tutorial with no download required.
		                <br>
		                <br>
		                <b>Browse through the examples:</b>
		                <br>
		                <a href="https://github.com/eclipse/january/blob/master/org.eclipse.january.examples/src/org/eclipse/january/examples/dataset/BasicExample.java"><b>Basic Example</b></a> show simple concepts for array creation, maths and slicing.
		                <br>
		                <a href="https://github.com/eclipse/january/blob/master/org.eclipse.january.examples/src/org/eclipse/january/examples/dataset/NumpyExamples.java"><b>NumPy Examples</b></a> show how common NumPy constructs map to Eclipse Datasets.
		                <br>
		                <a href="https://github.com/eclipse/january/blob/master/org.eclipse.january.examples/src/org/eclipse/january/examples/dataset/SlicingExamples.java"><b>Slicing Examples</b></a> demonstrate slicing, including how to slice a small amount of data out of a dataset too large to fit in memory all at once.
		                <br>
		                <a href="https://github.com/eclipse/january/blob/master/org.eclipse.january.examples/src/org/eclipse/january/examples/dataset/ErrorExamples.java"><b>Error Examples</b></a> demonstrate applying an error to datasets.
		                <br>
		                <a href="https://github.com/eclipse/january/blob/master/org.eclipse.january.examples/src/org/eclipse/january/examples/dataset/IterationExamples.java"><b>Iteration Examples</b></a> demonstrate a few ways to iterate through your datasets.
		                <br>
		                <a href="https://github.com/eclipse/january/blob/master/org.eclipse.january.examples/src/org/eclipse/january/examples/dataset/LazyExamples.java"><b>Lazy Examples</b></a> demonstrate how to use datasets which are not entirely loaded in memory.
                  </p>
									<!-- End section-who's involved-content -->
								</div>
								<!-- End content column -->
							</div>

							<!--  The is the right side of the row where the image goes -->
							<div class="col-xs-3">
								<div class="section-imagine-on-right-image">
									<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
									<!-- End section-define-problems-image -->
								</div>
								<!-- End image column.. -->
							</div>
							<!-- End row -->
						</div>
						<!-- End container-->
					</div>
					<!-- End section define problems -->
				</section>

				<div class="white-spacer" id="why"></div>
				<section class="section-with-image" id="section-why">
					<div class="container">
						<div class="row">
							<!--  The is the right side of the row where the image goes -->
							<div class="col-xs-3">
								<div class="section-imagine-on-right-image">
									<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
									<!-- End section-define-problems-image -->
								</div>
								<!-- End image column.. -->
							</div>

							<!-- This is the left side of the row where the text goes -->
							<div class="col-md-9">
								<div class="section-imagine-on-right-content">
									<h2>
										<b>WHY USE IT</b>
									</h2>
									<p>
										<b>Familiar.</b> Provide familiar functionality, especially to NumPy users.
		                <br>
		                <b>Robust.</b> Has test suite and is used in production heavily at Diamond Light Source.
		                <br>
		                <b>No more passing double[].</b> IDataset provide a consistent object for basing APIs on with significantly improved clarity over using double arrays or similar.
		                <br>
		                <b>Optimized.</b> Optimized for speed and getting better all the time.
		                <br>
		                <b>Scalable.</b> Allows handling of data sets larger than available memory with "Lazy Datasets".
		                <br>
		                <b>Focus on your algorithms.</b> By reusing this library it allows you to focus on your code.

										<!-- to add later
									<br><br><br>
										Want to see who<a href="https://jdarroy.github.io/eclipse.org-january/whos.html"> use it</a>?
									-->

                  </p>
									<!-- End section-who's involved-content -->
								</div>
								<!-- End content column -->
							</div>
							<!-- End row -->
						</div>
						<!-- End container-->
					</div>
					<!-- End section define problems -->
				</section>

				<!-- Start the "Download" section -->
				<div class="white-spacer" id="download"></div>
				<section class="section-with-image" id="section-download">
					<div class="container">
						<div class="row">
							<!-- This is the left side of the row where the text goes -->
							<div class="col-md-9">
								<div class="section-imagine-on-right-content">
									<h2>
										<b>DOWNLOADS</b>
									</h2>
									<p>
                    <b>Update Sites:</b>
                    <br>
                    <a href="http://download.eclipse.org/january/releases/2.1/repository">Eclipse January 2.1.0</a>
										(<a href="http://download.eclipse.org/january/releases/2.1/repository.zip">zip</a>)
										<br><br>
										<b>Want more?</b>
	                  <br>
										<a href="https://projects.eclipse.org/projects/science.january/downloads">More downloads</a>
									</p>
									<!-- End section-define-problems-content -->
								</div>
								<!-- End content column -->
							</div>
							<!-- End right col -->

							<!--  The is the right side of the row where the image goes -->
							<div class="col-xs-3">
								<div class="section-imagine-on-right-image">
									<span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>
									<!-- End section-define -->
								</div>
								<!-- End image column.. -->
							</div>
							<!-- End row -->
						</div>
						<!-- End container-->
					</div>
					<!-- End section define problems -->
				</section>

				<!-- Start the "Who's involved" section -->
				<div class="white-spacer" id="whos"></div>
				<section class="section-with-image" id="section-whos">
					<div class="container">
						<div class="row">
							<!--  The is the right side of the row where the image goes -->
							<div class="col-xs-3">
								<div class="section-imagine-on-right-image">
									<span class="glyphicon glyphicon-folder-open" aria-hidden="true"></span>
									<!-- End section-define-problems-image -->
								</div>
								<!-- End image column.. -->
							</div>

							<!-- This is the left side of the row where the text goes -->
							<div class="col-md-9">
								<div class="section-imagine-on-right-content">
									<h2>
										<b>RESOURCES</b>
									</h2>
									<p>
										<b>-</b> Eclipse January project
										<a href="https://projects.eclipse.org/projects/science.january"> page</a>
										<br><br>
										<b>-</b> Eclipse Science Working
										<a href="https://science.eclipse.org/"> Group</a>
										<br><br>
										<b>-</b> API
										<a href="https://www.eclipse.org/january/apidocs/"> documentation</a>
										<br><br>
										<b>-</b> <a href="https://www.eclipse.org/community/eclipse_newsletter/2016/november/article1.php">Multi-Dimensional Arrays </a>
										in Java with Eclipse January
                  </p>
									<!-- End section-who's involved-content -->
								</div>
								<!-- End content column -->
							</div>
							<!-- End row -->
						</div>
						<!-- End container-->
					</div>
					<!-- End section define problems -->
				</section>

				<!-- Start the "Contact" section -->
				<div class="white-spacer" id="contact"></div>
				<section class="section-contact" id="contact-us">
					<div class="container">
						<h2>Contact Us</h2>
							<!-- Developer's list-->
							<div class="col-md-offset-2 col-md-4 contact" >
								<a href="https://dev.eclipse.org/mailman/listinfo/january-dev">
									<button type="button" class="btn btn-xs btn-primary">
		  							<span class="ionicons ion-ios-people"></span>
									</button>
								</a>
							</div>
							<!-- Bugs-->
							<div class="col-md-4 contact" >
								<a href="https://github.com/eclipse/january/issues">
									<button type="button" class="btn btn-xs btn-warning">
		  							<span class="ionicons ion-bug"></span>
									</button>
								</a>
							</div>

						</div>
					<!-- /.container -->
				</section>
				<!-- /.section-contact -->
				<!-- End content -->
			</div>
			<!-- End main -->
		</div>

		<!-- This is the footer at the very bottom of the page with the legal information -->
		<footer class="footer">
			<a href="#" class="footer-toggler">show/hide footer</a>
			<a target="_blank" href="http://www.eclipse.org" class="lnk-footer">Eclipse Home</a>
			<a target="_blank" href="http://www.eclipse.org/legal/privacy.php" class="lnk-footer">Privacy Policy</a>
			<a target="_blank" href="http://www.eclipse.org/legal/termsofuse.php" class="lnk-footer">Terms of Use</a>
			<a target="_blank" href="http://www.eclipse.org/legal/copyright.php" class="lnk-footer">Copyright Agent</a>
			<a target="_blank" href="http://www.eclipse.org/legal" class="lnk-footer">Legal</a>

			<div class="link_icons">
				icons: <a href="http://getbootstrap.com/components/">glyphicon</a>, <a href="http://ionicons.com">ionicon</a>
			</div>
			<!-- End the footer -->
		</footer>
		<!-- End wrapper -->
	</div>

	<!-- Include JQuery and Bootstrap scripts. Putting them at the end preserves
		website performance (the heavy stuff loads last). JQuery must be loaded
		before bootstrap. -->

	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
	<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
	<script src="js/bootstrap.min.js"></script>
	<!-- End the body -->
</body>

<!-- End the document -->
</html>
