<?php
/**
 * Copyright (c) 2015, 2018 Eclipse Foundation.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 * Nathan Gervais (Eclipse Foundation) - Initial implementation
 * Eric Poirier (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div id="midcolumn">
  <h1>Top Reviews for Galileo in 2009</h1>
  <p>For those considering participation in the Helios blogathon, here are the
    2009 award-winning reviews of Galileo to give you an idea of what we're
    looking for:</p>
  <ul>
    <li><a
      href="http://eclipsesource.com/blogs/2009/06/24/eclipse-galileo-feature-top-10-list-number-1/"
      target="blank"
    >Eclipse Galileo Feature Top 10 List</a> - Ian Bull</li>
    <li><a
      href="http://blog.zvikico.com/2009/07/eclipse-35-hidden-treasures.html"
      target="blank"
    >Eclipse 3.5 Hidden Treasures</a> - Zviki Cohen</li>
    <li><a
      href="http://ekkescorner.wordpress.com/blog-series/pde-and-targetplatform/"
      target="blank"
    >pde + target</a> - Ekke Gentz</li>
    <li><a
      href="http://blog.miracki.net/2009/07/24/eclipse-w-nowej-odslonie-galileo/"
      target="blank"
    >The New Version of Eclipse - Galileo</a> - Mateusz Miracki</li>
  </ul>
</div>
<div id="rightcolumn">
  <div class="sideitem">
    <h6>Related Links</h6>
    <ul>
      <li><a href="guidelines.php">Blogathon Guidelines</a></li>
      <li><a href="reviews.php">Submitted Reviews</a></li>
    </ul>
  </div>
</div>
