text:
In this chapter we'll build a Spring Surf application step-by-step together. In the first part of this tutorial, we will use Spring Roo shell to create, deploy and test a Surf application. We will then show you how to build the same Surf application using Spring Tool Suite. With Spring Tool Suite, we can either use Surf Spring Template Project approach to quickly setup our Spring Surf application or we can create it manually. Details of both approaches will be covered in this tutorial.
How to setup a Surf application from scratch.
Structure of a typical Surf application.
How to deploy, run and test a Surf application.
Surf Roo addon commands for creating new Surf pages, components, templates etc.
How to build a Surf application efficiently.
Joe Smith is a web developer working for a large manufacture company, Green Energy Corporation. Green Energy currently starts a new initiative to provide local communities with information about green energy related products and technologies. The key requirement of this new project is building an interactive and extensible web application that leverage latest web technologies and can be integrated with existing services that are available within Green Energy Corporation.
The project time line is very tight and Joe is the only resource assigned to this project. After doing some research, Joe decides to use Spring Surf for this project.
Once Joe has Spring Roo, Spring Developer Suite and Surf Developer Tools installed, he first tries to setup a basic Surf project for his future development. His goal is to get a basic Surf site running with a simple page. He also wants to find out how to deploy, run and test his application.
The first step for Joe is to create an empty directory and load Spring Roo:
$ mkdir community $ cd community $ roo
If Joe followed the installation instructions, he should be greeted with the Roo logo shown below:
____ ____ ____ / __ \/ __ \/ __ \ / /_/ / / / / / / / / _, _/ /_/ / /_/ / /_/ |_|\____/\____/ ABC [rev XYZ] Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER.
There are quite a few usability features within Roo. If Joe types "help" he will see all of the commands currently available (these change at different phases of your project lifecycle). Plus he can always press TAB in almost all cases for completion services. The first step for Joe is to type the "create project" command into the Roo shell:
roo> project --topLevelPackage com.greenenergy.community Created /Users/drq/dev/spring/roo/sandbox/community/pom.xml Created SRC_MAIN_JAVA Created SRC_MAIN_RESOURCES Created SRC_TEST_JAVA Created SRC_TEST_RESOURCES Created SRC_MAIN_WEBAPP Created SRC_MAIN_RESOURCES/META-INF/spring Created SRC_MAIN_RESOURCES/META-INF/spring/applicationContext.xml Created SRC_MAIN_RESOURCES/META-INF/spring/log4j.properties
The required parameter for the "create project" command is the top level project name which, Joe will learn later, is also going to be used as the default Surf site name. For this case, the default Surf site name will be community. For this tutorial we will use SRC_MAIN_WEBAPP to reference the root directory of your web application.
As shown from the console output, Roo has created a Maven 2 project structure. Even if he quits Roo at this point and never reload it, at this moment Joe has a properly-configured Spring 3 web application, complete with URL rewriting, annotation-based classpath scanning and dependency injection of any class – even those created with the "new" keyword or via an ORM like Hibernate. He can even use "mvn jetty:run" to deploy and test the application on a local Jetty server. In general, Spring Roo helps developers to improve their productivities. However, they can always work on the project files directly using any editor or IDE.
With the basic Spring project ready, the "surf install" command will be available to Joe. This command will install all required Surf artifacts as well as a Quick Start Sample Site which Joe can use as a starting point.
Surf is a scriptable view composition framework for Spring MVC. It enables developers to quickly develop rich web application interfaces using templates and scripting. Surf provides view resolution for Spring MVC applications and integrates nicely with the Spring technology stack including Spring Web Flow, SpringSource Tool Suite and alternative view resolvers technologies.
Surf was initially developed by Alfresco Software Inc. in 2006 as its main web framework for products such as Alfresco Share, Alfresco Web Studio etc. Since November 2009, Surf has been available as a community extension of Spring.
Back to Joe's project, after running the "surf install" command, he gets following messages in Roo shell.
roo> surf install Created SRC_MAIN_WEBAPP/WEB-INF/config Created SRC_MAIN_WEBAPP/WEB-INF/config/surf-config.xml Created SRC_MAIN_WEBAPP/WEB-INF/config/surf-interop-config.xml Created SRC_MAIN_WEBAPP/WEB-INF/config/web-application-config.xml Created SRC_MAIN_WEBAPP/WEB-INF/web.xml Managed ROOT/pom.xml Created SRC_MAIN_WEBAPP/WEB-INF/urlrewrite.xml Created SRC_MAIN_WEBAPP/WEB-INF/surf.xml Managed ROOT/pom.xml Created SRC_MAIN_WEBAPP/surf-sample-site.zip Created SRC_MAIN_WEBAPP/css Created SRC_MAIN_WEBAPP/css/sample.css Created SRC_MAIN_WEBAPP/images Created SRC_MAIN_WEBAPP/images/alfresco3d.jpg Created SRC_MAIN_WEBAPP/images/AlfrescoLogo200.jpg Created SRC_MAIN_WEBAPP/images/AlfrescoLogo32.jpg Created SRC_MAIN_WEBAPP/images/background1.gif Created SRC_MAIN_WEBAPP/images/bg.gif Created SRC_MAIN_WEBAPP/images/chrome/box Created SRC_MAIN_WEBAPP/images/chrome/box/box_chrome_header_bg.gif Created SRC_MAIN_WEBAPP/images/cmis32.jpg Created SRC_MAIN_WEBAPP/images/cmis_logo_100.jpg Created SRC_MAIN_WEBAPP/images/gifts-and-gadgets.jpg Created SRC_MAIN_WEBAPP/images/our-services.jpg Created SRC_MAIN_WEBAPP/images/powered-by-spring.jpg Created SRC_MAIN_WEBAPP/images/PoweredBySurf.jpg Created SRC_MAIN_WEBAPP/images/products-overview.jpg Created SRC_MAIN_WEBAPP/images/surf32.jpg Created SRC_MAIN_WEBAPP/images/SurfLogo200.jpg Created SRC_MAIN_WEBAPP/WEB-INF/chrome/box Created SRC_MAIN_WEBAPP/WEB-INF/chrome/box/chrome.jsp Created SRC_MAIN_WEBAPP/WEB-INF/chrome/titled Created SRC_MAIN_WEBAPP/WEB-INF/chrome/titled/chrome.jsp Created SRC_MAIN_WEBAPP/WEB-INF/classes/surf/site/chrome Created SRC_MAIN_WEBAPP/WEB-INF/classes/surf/site/chrome/box.xml Created SRC_MAIN_WEBAPP/WEB-INF/classes/surf/site/chrome/titled.xml Managed SRC_MAIN_WEBAPP/WEB-INF/config/web-application-config.xml Created SRC_MAIN_WEBAPP/WEB-INF/pages/calendar Created SRC_MAIN_WEBAPP/WEB-INF/pages/calendar/calendar.xml Created SRC_MAIN_WEBAPP/WEB-INF/pages/home Created SRC_MAIN_WEBAPP/WEB-INF/pages/home/home.xml Created SRC_MAIN_WEBAPP/WEB-INF/pages/home/main.get.desc.xml Created SRC_MAIN_WEBAPP/WEB-INF/pages/home/main.get.head.ftl Created SRC_MAIN_WEBAPP/WEB-INF/pages/home/main.get.html.ftl Created SRC_MAIN_WEBAPP/WEB-INF/pages/home/side.get.desc.xml Created SRC_MAIN_WEBAPP/WEB-INF/pages/home/side.get.html.ftl Created SRC_MAIN_WEBAPP/WEB-INF/pages/products Created SRC_MAIN_WEBAPP/WEB-INF/pages/products/main.get.desc.xml Created SRC_MAIN_WEBAPP/WEB-INF/pages/products/main.get.html.ftl Created SRC_MAIN_WEBAPP/WEB-INF/pages/products/products.xml Managed SRC_MAIN_WEBAPP/WEB-INF/surf.xml Created SRC_MAIN_WEBAPP/WEB-INF/templates Created SRC_MAIN_WEBAPP/WEB-INF/templates/home.ftl Created SRC_MAIN_WEBAPP/WEB-INF/templates/home.xml Created SRC_MAIN_WEBAPP/WEB-INF/templates/landing.ftl Created SRC_MAIN_WEBAPP/WEB-INF/templates/landing.xml Created SRC_MAIN_WEBAPP/WEB-INF/templates/sample Created SRC_MAIN_WEBAPP/WEB-INF/templates/sample/login.ftl Created SRC_MAIN_WEBAPP/WEB-INF/templates/sample/logout.ftl Created SRC_MAIN_WEBAPP/WEB-INF/templates/sample/userinfo.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/calendar Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/calendar/calendar.get.desc.xml Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/calendar/calendar.get.head.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/calendar/calendar.get.html.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/footer Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/footer/footer.get.desc.xml Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/footer/footer.get.head.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/footer/footer.get.html.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/footer/footer.get.js Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/header Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/header/header.get.desc.xml Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/header/header.get.head.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/header/header.get.html.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/header/header.get.js Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation/horizontal.get.desc.xml Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation/horizontal.get.head.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation/horizontal.get.html.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation/horizontal.get.js Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation/vertical.get.desc.xml Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation/vertical.get.head.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation/vertical.get.html.ftl Created SRC_MAIN_WEBAPP/WEB-INF/webscripts/navigation/vertical.get.js Created SRC_MAIN_WEBAPP/WEB-INF/classes/log4j.dtd Created SRC_MAIN_WEBAPP/WEB-INF/classes/log4j.xml Deleted SRC_MAIN_WEBAPP/surf-sample-site.zip Created SRC_MAIN_WEBAPP/WEB-INF/classes/surf/site/configurations Created SRC_MAIN_WEBAPP/WEB-INF/classes/surf/site/configurations/ default.site.configuration.xml
Joe didn't specify "siteName" parmeter for this "surf install" command so it will assume he wants to use community as the default value for both project name and Surf site name.
One thing that Joe has noticed is that all Surf configurations are placed into XML files. He can use any of his favorite XML editor or IDE to add, modify or delete them.
Before Joe moves on to next step, he spends some time going through all new files and tries to understand what they are for.
It defines a "UrlRewriteFilter" filter which Enables clean URLs with JSP views e.g. enabling url /welcome instead of /page/welcome.
Spring MVC Dispatcher Servlet is also defined and pointed to /WEB-INF/config/web-application-config.xml for its context configuration.
This configuration file provides UrlRewriteFilter filter with a set of Surf related inbound and outbound url rewrite rules.
It defines Surf specific configurations for runtime and mode. As default, it uses webapp runtime and development mode. (TODO: more details on the options)
As defined in web.xml, this file provides context configurations for the Spring MVC Dispatcher Servlet. It first imports required infrastructure imports from SRC_MAIN_WEBAPP\WEB-INF\config\surf-config.xml and then defines a list of required interceptors for the default Spring MVC annotation handler. Rest of the configurations are for interoperability with Spring annotated controllers and simple controllers. It also configues the default Spring multipart resolver for file uploading.
This configuration file defines context locations for both Surf Web Scripts Framework and Surf Framework. It also sets up to be auto-resolved to url based views.
TODO: What is this file for?
This is the style sheet of the Quick Start Sample Site.
Image files for the Quick Start Sample Site.
Quick Start sample site provides two sample JSP chromes, box and titled. Chrome describes the border elements around a region or a component. These border elements may include styling elements like shadows, or they may introduce drag and drop capabilities into the page. They may also introduce user-functionality like buttons for popping up component settings (as you frequently see in portals).
To help users to get started with their project, Surf Quick Start Sample Site provides three sample pages, home, products and calendar. Surf only requires page configuration XMLs to be placed under SRC_MAIN_WEBAPP\WEB-INF. However for best practice it is highly recommended to place them under SRC_MAIN_WEBAPP\WEB-INF\pages and create a separated folder for each page using page ID as folder name, e.g. SRC_MAIN_WEBAPP\WEB-INF\pages\home.
A page is a navigable page in your web application. It may have associations to other pages and multiple formats keyed from it to templates. A page is a top-level object from which you can traverse either additional navigation or rendering paths.
Quick Start Sample Site is shipped with two sample Freemarker templates, home.ftl and landing.ftl, and corresponding template instances. A Template Instance is an instance of a template type, for instance, a Freemarker template for the Freemaker Template Type. A Surf page object has a required field for template instance therefore the Surf dispatcher knows which template to use to render view for the page. Other types of templates that Surf supports are JSP and Webscript.
This is the place for storing Websripts that generating components such header, footer,navigation etc. Some of the webscripts for page scoped components can also be placed in page directory. Again it is just for better organizing files.
A component is an instance of a component type that has been "bounded" into a region or a slot. It represents a binding along with the instance-specific state for that component instance. The Surf framework supports three types of scopes for the region/component binding, global scope, template scope and page scope. The Global Scope is for the component that is same across the site such as header and footer. The Template Scope is for the component that is same across the template such as a Text Block component which shows the same text for any page using this template. The page scope is for any page specific component.
These are log4j related configuration files that can be used for controlling logging levels.
This file defines site level configuration such as root page name, site name etc.
On top of the pom.xml generated by "create project" command, Surf Roo addon adds two new dependencies to the pom.xml for getting all Surf required library jars.
With everything in place, Joe can't wait for giving it a try. Since Spring Surf is maven based, Joe doesn't need to worry about where to get required libraries for his project. Maven also lets Joe use a local tomcat server for building, deploying and testing the site he has so far.
Joe opens another terminal, loads Jetty and deploys the application war
mvn clean package jetty:run
Once it is deployed, Joe is ready to open his browser and visit his new Surf application for the first time. The home page url is http://localhost:8180/.
Joe can also access Surf console to get a report on Surf objects as well as tools for launching Javacript Debugger, refreshing webscripts, templates and object registry etc.
At this point, Joe has a running site with a few pages, templates and components. Joe also gets familar with the process of building, deploying and testing. To start his journey with Surf development, he decides to take a baby step first.
The first thing Joe will try to do is to customize the Sample site header and footer. He will use the existing templates and component webscripts that render the header and footer.
Joe first takes a look at following two websripts.
Websript for Footer: SRC_MAIN_WEBAPP\WEB-INF\webscripts\footer\footer.get.desc.xml SRC_MAIN_WEBAPP\WEB-INF\webscripts\footer\footer.get.head.ftl SRC_MAIN_WEBAPP\WEB-INF\webscripts\footer\footer.get.html.ftl SRC_MAIN_WEBAPP\WEB-INF\webscripts\footer\footer.get.js Websript for Header: SRC_MAIN_WEBAPP\WEB-INF\webscripts\header\header.get.desc.xml SRC_MAIN_WEBAPP\WEB-INF\webscripts\header\header.get.head.ftl SRC_MAIN_WEBAPP\WEB-INF\webscripts\header\header.get.html.ftl SRC_MAIN_WEBAPP\WEB-INF\webscripts\header\header.get.js
Before making changes to those two webscripts, Joe spends some time on learning Web Script. Joe learns that Web Scripts allow him to build custom URI-identified and HTTP accessible Web Services. A Web Script implementation consists of the following components: (often summarized as MVC):
A description document, which describes the URI that will initiate the script. For example, the service is given a short name and description, along with authentication and transactional needs. URI bindings are described as URI templates.
An optional controller script, written in JavaScript, which will do the actual work. For example, the script may query the external data repository to build a set of data items, known as a model to render in the response, or for URIs that intend to modify the repository (hopefully, PUT, POST and DELETE method bindings), the script may update the data repository. The JavaScript has access to all URI arguments, external services and repository data entry points.
One or more FreeMarker response templates, known as views (or Representations in REST parlance) that will render output in the correct format for your specific needs. For example, HTML, ATOM, XML, RSS, JSON, CSV, or any combination of these. The URL response is rendered via one of the supplied templates where the chosen template is based on the required response content-type or status outcome. The template has access to all URI arguments, common repository data entry points and any data items built by the optional controller script.
For the footer, Joe only wants to change the copyright message. Since the Javascript template of the footer webscript defines the value of the message as part of the "model" object which is then be passed on to the FreeMarker template for rendering.
After the change, Joe's new footer.get.js looks like
SRC_MAIN_WEBAPP\WEB-INF\webscripts\footer\footer.get.js model.message = "@ 2009 Green Energy, Co. All Rights Reserved.";
For the header, Joe changes the header title and adds a new tag line.
SRC_MAIN_WEBAPP\WEB-INF\webscripts\header\header.get.js model.headerTitle = "Green Energy"; model.tagLine = "Community Information Hub";
header.get.html.ftl

${headerTitle}

${tagLine}

Joe also wants to change the styles of the header. For that he needs to make changes to SRC_MAIN_WEBAPP\WEB-INF\webscripts\header\header.get.head.ftl which is responsible for modifying or injecting styles, javascript includes etc. into the rendered HTML page head.
SRC_MAIN_WEBAPP\WEB-INF\webscripts\header\header.get.head.ftl
For the additional images(agelogo.png,homepage01.jpg), Joe puts them under SRC_MAIN_WEBAPP\images folder and they can be referenced in the Freemarker template simply as ${url.context}/res/images/IMAGE_FILE_NAME. In the URL, url.context is a Surf system property which can be used to retrieve the Surf web-server context path while /res is the url prefix defined as part of the URL rewrite rules.
After Joe made the changes and added additonal image files to the SRC_MAIN_WEBAPP\images folder, Joe refreshes and checkes the site home page to verify the changes are there.
New Header:
New Footer:
Joe made his first milestone of getting header and footer customized. During the process, Joe learns some basics about web scripts and understands footer and header are two template scoped components which are bonded to the two regions defined in the home template, SRC_MAIN_WEBAPP\WEB-INF\templates\home.ftl.
SRC_MAIN_WEBAPP\WEB-INF\templates\home.ftl ...
 <@region id="header" scope="template" />
 ...
 <@region id="footer" scope="template" />
 ...
Each Surf template can have one or many template instances. Each Surf page needs to be associated with one and only one template instance while a Surf template instance can be associated with multiple pages. Template instance is always defined as an XML document. A typical template instance XML consists of ID field, name field, decription field and all template scoped component definitions. This gives us great flexibility of reusing template for various scenarios. For example, we can use same two-columun layout for both home page and products page with different component configured for the same regions.
To create a new template, Joe needs to create a new Freemarker template. Joe starts with an HTML UI template which he got from his UI designer and added the region definitions into the places he want to make them rendered by Surf components. Surf Roo Addon provides a command for generating new template.
roo>surf template create --path news
As default, all templates will be placed under SRC_MAIN_WEBAPP\templates.
SRC_MAIN_WEBAPP\templates\news.ftl <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>${page.title}</title> <link type="text/css" rel="stylesheet" href="${url.context}/res/css/sample.css" /> ${head}

 <@region id="header" scope="template" />

 <@region id="horznav" scope="template" />

 <@region id="vertnav" scope="template" />

 <@region id="center" scope="page" />

 <@region id="right" scope="global" />

 <@region id="footer" scope="template" />

Above is three-column layout template that Joe creates. In addition to the header, footer and horizonal navigation region, it has three middle regions which are defined as template, page and global scope respectively.
With a new template ready, Joe wants to give it a try before creating and adding components to the regions.
Surf Roo addon provides two ways for creating a new page. First approach is to create a new template instance and then uses it to create a new page. The other approach is to create a new page directly from the template. If the new template instance id is not provided, it will assume that the new page will use the template instance with the same id as the template. If the template instance with the given or assumed id doesn't exist, the addon will create a new template instance with that id.
Here are some examples:
// Create a new page by only providing template id. surf page create --id news --template news
// Create a new template instance and place it under templates\news2 directory. surf template instance create --id news2 --path templates\news2 --template news // Create a new page using the template instance we just created and place it // under pages\news2. surf page create --id news2 --path pages\news2 --templateInstance news2
Joe takes the first approach so he runs following command in Roo shell:
surf page create --id news --template news
If everything goes as expected, Joe will get following message in the Roo shell.
roo> surf page create --id news --template news Created SRC_MAIN_WEBAPP\WEB-INF\news Created SRC_MAIN_WEBAPP\WEB-INF\news\news.xml New template instance created. Created SRC_MAIN_WEBAPP\WEB-INF\pages\news Created SRC_MAIN_WEBAPP\WEB-INF\pages\news\news.xml
The new page is now ready for viewing with the url http://localhost:8180/news. Surf provides easy URLs for pages. As Joe notices, he can simple append the page name to the home page URL. Joe has not configured anything for the page yet so he will only get a blank page as this point. But if he checks the source of the page, he will noticed the layout has been renderd with messages about missing component bindings.
Before setting up components for the new page, Joe wants to learn how to create his own component. For his requirement, he needs to create a "Green Enery News Feed" component for community users. This component needs to be able to invoke an online news service, retrieve related news feed in XML or JSON format and display the information in a nice HTML format.
Within the Surf framework, Joe will need to create a Webscript and mapped it to a URL which later can be bounded to his page as a component.
Joe starts with creating a new folder, newsfeed, under SRC_MAIN_WEBAPP\WEB-INF\webscripts. Webscript can be placed anywhere under SRC_MAIN_WEBAPP\WEB-INF\. This is just for file orgnization purpose. Once the folder is created, Joe creates all necessary files for this webscript.
<webscript> <shortname>News Feed</shortname> <description>News Feed</description> <url>/news/feed</url> </webscript>
//Define the remove service url var newsServiceUrl = "http://www.renewableenergyworld.com/rss/renews.rss"; //Create an instance of remote connector. We will use http type. var connector = remote.connect("http"); var re = /^http:\/\//; if (!re.test(newsServiceUrl)) { newsServiceUrl = "http://" + newsServiceUrl; } //Make the HTTP connection. var result = connector.call(newsServiceUrl); if (result !== null) { //Conver the result into String. var rssXml = new String(result); var re = /<[r|R][s|S]{2}/; // Is this really an RSS document? //Make sure it is a RSS XML document. if (re.test(rssXml)) { // Strip out any preceding xml processing instructions or E4X will choke var idx = rssXml.search(re); rssXml = rssXml.substring(idx); // It looks we need to get rid of the trailing junk as well. if ( rssXml.indexOf('</rss>') != -1 ) { rssXml = rssXml.substring(0,rssXml.indexOf('</rss>')+6); } // Parse the xml document using E4X APIs. var rss = new XML(rssXml); model.title = rss.channel.title.toString(); model.items = []; var item, obj; //Loop over all feed items. for each (item in rss.channel..item) { //Retrieve field valuse and populate the JSON object that later will be //passed on the the view template. obj = { "title": item.title.toString(), "description": item.description.toString(), "link": item.link.toString() }; model.items.push(obj); } } }

 ${title}

 <#if items?exists && items?size > 0> <#list items as item>
${item.title}

${item.description}
 </#list> </#if>
<#-- end of body -->
<#-- end of dashlet -->

Once Joe finishes the coding for the webscript, he can deploy and test the webscript. Each webscript is mapped to a unique URL. For this News Feed webscript, it will be mapped to http://localhost:8180/news/feed.
Now Joe has built a nice Green Enery News Feed component. It is time to add it to the page he just created. The component will be placed in the center of the page and will be associated with a page scoped region. This means Joe will need to modify the page XML to add the new component configuration for the Green Enery News Feed component. Since it is page scoped, this configured component will be available only for this particular page.
For template scoped region, the component configuration will be placed in template instance xml which means any page that are based on this template instance will have same component configured.
For global scoped region, the component configuration will be placed in its own XMLs which as default needs to be place under SRC_MAIN_WEBAPP\WEB-INF\classes\surf\site\components. The configuration will be available across the application which means it needs to be configured once and only once.
Surf Roo addon provides several component related commands. For Joe's case, he needs to run following command in Roo shell.
roo> surf component create --page news --region center --url /news/feed Managed SRC_MAIN_WEBAPP\WEB-INF\pages\news\news.xml
As the message suggests, the change is made to template instnace news.xml and now Joe has the center region configued successfully.
As Joe keeps working on his Surf site, he realizes that a lot of work is about configuring the pages. It would be very helpful to have commands that can show current page configuration as well as other related metadata.
Surf Roo addon provides a few report related commands. To generate and show report on his News page, Joe needs to run following command:
roo> surf report page --id news ----------------------------------------------------------- Report on Page news ----------------------------------------------------------- Basic Information Id: news Name: news Path: pages\news\news.xml Instance: news Template: news ----------------------------------------------------------- Page Scoped Components Region: center Url: /news/feed ----------------------------------------------------------- Template Scoped Components ----------------------------------------------------------- Other Components Region: right Scope: global Configued:false Region: horznav Scope: template Configued:false Region: vertnav Scope: template Configued:false Region: footer Scope: template Configued:false Region: header Scope: template Configued:false ----------------------------------------------------------- Page Associations -----------------------------------------------------------
The report shows Joe has configured one component and still needs to configure five other components for his News page. Before Joe configures header, foot and two navigation regions. Joe wants to explore a little more on global scoped region and component properties.
Joe first creates a new component which displays a HTML message which will be loaded from a component property. The new webscript will be mapped to /blocks/html and placed under SRC_MAIN_WEBAPP\WEB-INF\webscripts\html.
SRC_MAIN_WEBAPP\WEB-INF\webscripts\html\html.get.desc.xml (download) <webscript> <shortname>Html - Web Component</shortname> <description>Html - Web Component</description> <url>/blocks/html</url> </webscript>
SRC_MAIN_WEBAPP\WEB-INF\webscripts\html\html.get.js (download) var html = instance.properties["html"]; if(html != null) { html = html.replace('${url.context}', url.context); model.html = html; }
SRC_MAIN_WEBAPP\WEB-INF\webscripts\html\html.get.html.ftl (download)

Message Of The Day

 <#if html?exists> ${html} <#else> Unable to find contents </#if>

SRC_MAIN_WEBAPP\WEB-INF\webscripts\html\html.get.head.ftl (download)
Now Joe can associate it with the "right" region. Since it is global scoped, Surf will create a seperated XML file and as default the file will be placed under SRC_MAIN_WEBAPP\WEB-INF\classes\surf\site\components
roo> surf component create --page news --region right --url /blocks/html Created SRC_MAIN_WEBAPP\WEB-INF\classes\surf\site\components Created SRC_MAIN_WEBAPP\WEB-INF\classes\surf\site\components\global.right.xml
The component will load the display message from its "html" property. So Joe will have to edit the global.right.xml to add the property.
SRC_MAIN_WEBAPP\WEB-INF\classes\surf\site\components\global.right.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <component> <guid>global.right</guid> <component-type-id>webscript</component-type-id> <title>global.right</title> <description>global.right</description> <url>/blocks/html</url> <resources/> <scope>global</scope> <source-id>global</source-id> <region-id>right</region-id> <properties> Welcome to Green Energy! </properties> </component>
Joe also configures rest of regions for his News page.
roo> surf component create --page news --region header --url /company/header Managed SRC_MAIN_WEBAPP\WEB-INF\news\news.xml roo> surf component create --page news --region footer --url /company/footer Managed SRC_MAIN_WEBAPP\WEB-INF\news\news.xml roo> surf component create --page news --region horznav --url /navigation/horizontal Managed SRC_MAIN_WEBAPP\WEB-INF\news\news.xml roo> surf component create --page news --region vertnav --url /navigation/vertical Managed SRC_MAIN_WEBAPP\WEB-INF\news\news.xml
Now if Joe runs report on the News page again, it will show all regions have been configured.
----------------------------------------------------------- Report on Page news ----------------------------------------------------------- Basic Information Id: news Name: news Path: pages\news\news.xml Instance: news Template: news ----------------------------------------------------------- Page Scoped Components Region: center Url: /news/feed ----------------------------------------------------------- Template Scoped Components Region: header Url: /company/header Region: footer Url: /company/footer Region: horznav Url: /navigation/horizontal Region: vertnav Url: /navigation/vertical ----------------------------------------------------------- Global Scoped Components Region: right Scope: global Component:global.right Url:/blocks/html ----------------------------------------------------------- Page Associations -----------------------------------------------------------
After deploying and testing, Joe finally gets his page ready. Now he wants to explore Surf page association which is key for building site navigation. As we can see from the screen shot, Joe's news page is not on the horizonal navigation bar and left side vertical navigation menu is empty.
Surf supports parent-child type of page associations. This allows Joe to designate a page as parent and have another page associated with it as child. For Surf site, the association will be available through Java and JavaScript APIS and thus can be used to build site page hierachy and site navigation.
As shown in the following code snippet, Surf allows navigation component webscript to get a list of child pages for current page and it can then be used for rendering site navigation.
model.pages = sitedata.findChildPages(context.pageId); if (model.pages.length == 0) { // find the parent page var parentPages = sitedata.findParentPages(context.pageId); if (parentPages.length > 0) { model.pages = sitedata.findChildPages(parentPages[0].id); } }
To get the news page on the horizontal navigation bar, Joe will need to associate the page as child of the site root page. For this site, it will be the home page.
roo> surf page association create --sourceId home --destId news Managed SRC_MAIN_WEBAPP\WEB-INF\pages\home\home.xml
Now if Joe redeploys the site, he should see the News page show up on the horizontal navigation bar. For the vertical navigation menu, it shows a list of child pages of parent page of the news page since news page doesn't have any child pages.
Now if Joe creates another page and makes it as a child of the news page, he will see the list of child pages on the left region.
roo> surf template instance create --id news2 --path templates\news2 --template news Created SRC_MAIN_WEBAPP\WEB-INF\templates\news2 Created SRC_MAIN_WEBAPP\WEB-INF\templates\news2\news2.xml roo> surf page create --id news2 --path pages\news2 --templateInstance news2 Created SRC_MAIN_WEBAPP\WEB-INF\pages\news2 Created SRC_MAIN_WEBAPP\WEB-INF\pages\news2\news2.xml roo> surf page association create --sourceId news --destId news2 Managed SRC_MAIN_WEBAPP\WEB-INF\pages\news\news.xml
As a side note, Joe can also add chorom and title configuration to the vertical navigation component so that it can render nicer view.
SRC_MAIN_WEBAPP\WEB-INF\news\news.xml ... <component> <region-id>vertnav</region-id> <url>/navigation/vertical</url> <chrome>box</chrome> <title>Child Pages</title> </component> ...
With a new page and several components built, Joe wants to package them and deploy it to his QA server. For Surf, packaging site is relatively easy task. All Joe needs to run is following maven command.
mvn clean package
Once it finishes, it will generate a WAR file which includes all needed library jars for running the site in any application server.
Joe is very happy with his experience with Surf so far. Now he plans to check out the IDE part of Surf Developer tools.
Spring Surf roo addon also provides addtional addons that Joe can install. To get a list of available addons, Joe would need to run following roo command in roo shell.
surf addon list
This command will display a list of addon ids with descriptions.
roo> surf addon list ID: php DESC: Adds support for scripting in Php. ID: groovy DESC: Adds support for scripting in Groovy. ID: studio DESC: Adds Spring Surf Web Studio. ID: documentation-core DESC: Adds Spring Surf documentation plugin. ID: documentation DESC: Adds Spring Surf documentation plugin and basic site templates.
If Joe wants to install any of above addons, he would need to run "surf addon install" command with id parameter.
For example, Joe wants to install the latest Spring Surf documentation plugin to his Surf project.
roo> surf addon install --id documentation Managed ROOT/pom.xml Managed ROOT/pom.xml Created ROOT/document-addon.zip Managed ROOT/src/docbkx/resources/css/html.css Managed ROOT/src/docbkx/resources/images/banner.png Managed ROOT/src/docbkx/resources/images/important.png Managed ROOT/src/docbkx/resources/images/note.png Managed ROOT/src/docbkx/resources/images/Thumbs.db Managed ROOT/src/docbkx/resources/images/tip.png Managed ROOT/src/docbkx/resources/images/xdev-spring_logo.jpg Managed ROOT/src/docbkx/resources/xsl/fopdf.xsl Managed ROOT/src/docbkx/resources/xsl/html.xsl Managed ROOT/src/docbkx/resources/xsl/html_chunk.xsl Managed ROOT/src/site/apt/index.apt Managed ROOT/src/site/apt/reference/index.apt Managed ROOT/src/site/docbook/reference/index.xml Managed ROOT/src/site/site.xml Deleted ROOT/document-addon.zip
Please note that after this addon installation, roo will need to be restarted. Once roo is restarted, Joe is ready to build site documentation using following maven command
mvn site
Once it finishs, Joe will get nice site reference documentation in mulitple formats such as HTML, singl-page HTML and PDF. All documents will include auto-generated Webscripts API docs, JavaScript API docs, Freemarker API docs etc.
As Joe has learned from the first part of the tutorial, Surf provides an addon for Spring Roo which allows him to quickly scaffold Surf pages and views on top of Spring MVC application. Since Spring Roo is bundled with Spring Tool Suite, he can use the same Surf roo commands as long as he installs the Surf Roo addon jar in STS.
Spring Tool Suite, as its name indicates, is a developer toolset building upon Eclipse. It provides Spring developers with a set of wizards, views, embedded servers etc. for higher productivity.
As part of Spring Tool Suite, Roo shell can be accssed through an Eclipse view. From STS menu, Joe can select Window -> Show View -> Other... -> SpringSource Tool Suite -> Roo Shell. Once that view is opened, it will show a list of Roo projects that are under his current workspace. He can then select the project and the Roo shell interface will be available to him.
There are multiple ways of setting up a Surf project within STS. Joe first tries to set it up manually.
Right click on the project and select Spring Tools -> Add Roo Project Nature The Dynamic Web Project is now set up to use Spring Roo.
With that, a very simple Spring project has been generated for Joe with a few important files and structures. These include Spring MVC application context settings, Maven build file (pom.xml)and Maven project structure.
Joe can now add Surf into his Spring MVC projects by simply using the Surf addon for Spring Roo. Just like he did within Roo shell, Joe installs Surf artifacts by running "surf install" command. This command will then update Maven build (pom.xml) to include Surf as a dependency, provide you with a /WEB-INF/surf.xml configuration file with Surf automatically configured for development mode, update /WEB-INF/urlrewrite.xml file to include necessary redirects for Surf, unpack a sample site, pages, templates and a few components to help Joe get started.
The final step for Joe to do is to enable Maven dependency management for this project. By doing this, he allows STS to automatically download all of the necessary dependencies from pre-defined Maven repositories for his project.
Joe needs to wait till Maven gets all required dependencies. Once it finishes, Joe is ready to deploy and test his Surf site.
To deploy and test Surf project within STS, Joe can keep using the pre-configued Jetty server by running jetty:run command. He will need to right click on the project and select Run As -> Run Configurations.
Joe will then need to setup a new "Maven Build" launch configuration as shown in the following screen shot.
Joe can also use SpringSource tc Server which comes with STS for his testing. He can either run the deploy Roo command within Roo shell
The project will be built and deployed to the embedded Tomcat instance. When it starts up, Joe can point a browser to the following path: http://localhost:8080/community He will then see the home page of sample site.
Surf also provides an additonal template for SpringSource Tool Suite Template Project Wizard. The STS template wizard lets Joe quickly create new Spring Surf projects through unpacking a prepacked STS project. It will save Joe all the manual steps.
The additonal Surf template is packaged as a custom STS/Eclipse plugin.The custom plugin extends extension point com.springsource.sts.content.core.descriptors. This will make Spring to include additional templates that are provided by Surf.
Just like rest of Spring template projects, the description XML file and acutal project zip files are hosted remotely. When users tried to install the template project for the first time, it will download the remote copy and save a local copy under .metadata/.sts/content directory of the current workspace. For each template project, it will create a sub directory using the template id as the directory name.
After the first time downloading, STS will use the local copy unless a newer version is available on the remote server. In that case, the newer version will be downloaded and the local copy will be updated.
To verify the Surf project template has been installed through the custom plugin, Joe can
Once Joe selects the Surf project template and click Next button. If he is using it for the first time, it will popup a message box to confirm the download. Otherwise, it will show a dialog asking for Eclipse project name, Spring Surf site name and top level package. Joe enters valid inputs for all required fields and click Finish.
STS will then unpack the project zip file and create a new project for Joe. This project will have Spring Roo shell nature enabled and a Surf project created with all samples from the Quick Start sample Site.
Just as the manual approach, the final thing for Joe to do is to enable Maven dependency management for this project.
Joe needs to wait till Maven does its job getting all required dependencies. Once it finises, Joe is ready to deploy and test his Surf site.


text:
Rickybobby in S.F.: Inspired bar food
Rickybobby: Go for the name, stay for the food.
It's a winning combination for former Broken Record chefs James Moisey and Shane LaValley, who've brought their cultish bar grub to the Lower Haight.
The cheeky corner spot has been packed since opening night in December, and although the interior won't remind you of "Talladega Nights: The Ballad of Ricky Bobby," the food certainly sings.
That includes the signature beef and bacon burger ($10), perhaps the ultimate double-double with two patties - the beef and bacon are ground together - and two slices of cheese.
Crawshrimp grits ($12) are also popular, though we're partial to the short rib lasagna ($12) and its tender sheets of pasta dotted with chunks of meat. Whatever you decide, a side of Sweet Potatertots ($6) is a must.
The heavy food screams for beer, and there are about a half dozen available, including Anchor Steam and Green Flash IPA. There's also a small selection of sodas. Skip the wine.
Rickybobby is smaller and, in a sense, sleeker than the pair's old digs, but good luck trying to figure out the decor. The interior is splashed with random images of animals - among those we spotted were pigeons, horses and bears - as well as a giant burger, though not the one they serve. Meanwhile, a movie is projected silently on one wall.
The noise level can be deafening, but that hasn't kept the crowds away. There's almost always a wait, and it's communal seating only, so get ready to rub elbows with your neighbors.
If you go
Rickybobby: 400 Haight St. (at Webster Street), S.F. 6-11 p.m. Tuesday-Saturday. No reservations or takeout. www.rickybobbysf.com.
- Janny Hu, firstname.lastname@example.com

subset: commoncrawl


text:
I noticed this morning that the forums link (left hand side) of the main pocosystems site (http://www.pocosystems.com/), is no longer there (at least that I can see). What happened?
Good think I had bookmarked the forums myself
Moderators: Eric, Tomas, robin
bareges wrote:Slaven,
Thank you for the guidance I had emailed your support team on precisely this topic.................Maybe I'm being dense or blind but it certainly isn't in the menu that I can see, not at the moment anyway!
Users browsing this forum: Brantpiny, DavinRops, Google [Bot] and 5 guests


text:
Usher's Custody Hearing Won't Be Delayed Following Stepson's Death
Despite Usher's request to delay his custody hearing over sons Usher Raymond V, 4, and Naviyd, 3, to allow he and ex wife Tameka Foster to mourn the death of his stepson in a tragic jet skiing accident, a judge ruled that the hearing will go on as scheduled — and as Foster wished.
TMZ reports that the judge in the case ruled that the hearing would not be postponed and would go on as scheduled on Aug. 13. The case is only expected to last a few more days following the hearing.
Usher claimed in his request for postponement that the hearing would cause "unnecessary stress and strain" to himself and Foster if it were to go over so soon after the tragic death of Foster's 11-year-old son Kile Glover. However, it was reported that Foster claimed that Usher's distress claims were "bogus" and that he only visited Glover once during the boy's 15-day hospital stay and even skipped out on his funeral.
Foster refuted those claims in a personal statement on Global Grind, citing the fact that often attorneys' words are reported as direct quotes from her and Usher — and that's not entirely accurate.
"I remain in the unfortunate position of having to respond to and attend court proceedings that were not initiated or begun by me. I did not file this custody case (January 2011) and was content with the 'joint custody' arrangement that we share. Most importantly, nor do I wish to appear in court while I am mourning the loss of my son. But I do not want to delay thus prolong these proceedings either; I'd rather continue this arduous process hoping it will help move me through this most difficult period in my life. People seem to be privy to only my filed responses as 'Defendant' to the initiation of this case (Jan 4, 2011), when I have only been defending myself and protecting the best interests of my children through my counsel. I cannot control how the media reports are written/slanted/spun or even how court documents may be manipulated in their attribution of certain statements as if they are direct "quotes" from me- yet I can control what I actually say myself.
This may sound really cliché but you must NOT believe everything you read or hear and never judge… especially without solid facts and always, but always consider the source. Discernment is key. My boys are my entire world and I will fight tooth and nail to keep all of my sons together as a family, I pray for a swift, peaceful resolution so that we all can move forward."
Foster also thanked supporters for their prayers and kind words and thoughts following the loss of her "angel," Kile.
Our thoughts remain with Usher, Foster and their families. We wish them a speedy resolution so that they may mourn — and Kile may rest — in peace.
Watch the Usher 'Moving Mountains' Video


text:
Alice Medrich brings her chocolate expertise to Craftsy in this class. You'll learn essential techniques and bake three showstopping cakes.
Learn to melt and handle chocolate like an expert as Alice teaches you how to marble, glaze and decorate delicious cakes. With her detailed instruction, you'll bake the decadent recipes included in this class. Impress your family and friends with the sleek Queen of Sheba, the Ultimate Chocolate Birthday Cake and the Chocolate Raspberry Ruffle Cake, plus a bonus chocolate centerpiece.
If you're not delighted with your Bluprint experience, we'll make it right or give you a full refund.


text:
The nick of time was unkind to the UC Irvine men's soccer team last season.
But a closer look at the average time of the winning goal in the Anteaters' 10 one-goal defeats — the 91st minute including five overtime goals — indicates that it may have been more than misfortune that led to a 5-14-1 campaign that halted a string of four straight winning seasons.
"One of the telling factors about a team is its fitness," said UCI Coach George Kuntz, who is in his 19th season. "We didn't have that last year. This year, all our [five healthy] seniors made our [preseason] fitness test [requirements] and some of them overachieved."
Kuntz, who guided the Anteaters to three NCAA Tournament appearances in four seasons from 2008 to 2011, during which time they won three regular-season conference titles and two conference tournament crowns, said his team may not need to overachieve to post a winning season in 2013.
"Some people may want to call it a rebound year, but we know we have something," said Kuntz, whose long-range faith in this year's roster prompted arguably the most challenging schedule in the program's history.
Some of that optimism was tarnished when no fewer than four Anteaters went down with torn anterior cruciate knee ligaments, one late in 2012 and the other three in the off-season.
Included among the casualties are senior midfielder Gor Kirakosyan, sophomore defender Matt Tilley and junior defender Victor Calderon, all returning starters that Kuntz said are likely out for the season.
The schedule includes a road date at No. 1-ranked Indiana (Sept. 15), a home clash against No. 9 UCLA (Sept. 19) and another road test at No. 10-ranked Louisville (Sept. 13). Further, UCI opponents Xavier (road), UC Santa Barbara (home) and Cal State Northridge (home and away) were among others receiving votes in the NCAA preseason top-25 poll.
The foreboding schedule, the injuries, and the lack of success last season are all providing motivational fuel for a group of players that Kuntz describes as admirably workmanlike.
"We scheduled up this year and I think it will be fun," Kuntz said. "The guys are amped and excited. They want nothing less than to play against the best opponents possible. That's why they play Division I soccer."
Those guys include proven standouts Marco Franco, Christian Santana, Enrique Cardenas, Trey Hayes, Cameron Iwasa and Tarek Morad, who form a strong group of returning starters that may also include goalie Michael Breslin.
Franco, a defensive midfielder a year ago, is a potential MLS-caliber defender who will likely join Morad in the center of a four-player back line that, along with goalkeeping, Kuntz lists as his team's biggest question marks.
Franco, a senior who has eight career assists, earned praise from Kuntz for his speed, poise and passing skills. He was second-team All-Big West in 2011 and earned honorable mention in last year's all-conference voting, the only Anteater to even be considered in 2012.
Iwasa, who earned the athletic department award for strength and conditioning last season, is a dynamic junior forward-midfielder who led the team with six goals and 14 points (two points for a goal and one for an assist) last season. This year's team captain has nine goals and four assists in his first two seasons.
Santana, an eye-catching senior ball-handler, has eight goals and 11 assists in his first three seasons, while Cardenas, a charismatic senior, has totaled eight goals and five assists in a career plagued by injuries.
Hayes, a 6-foot-5 junior forward, has seven career goals and Kuntz said Hayes has improved greatly due to a renewed focus on his game.
Kirakosyan and Pavle Atanackovic both scored four goals a year ago, while Dennis Martinez and Bryan Breslin, both juniors, each started 13 games as sophomores.
Kuntz said junior Mitchell Alvarez and sophomore Noah Gaines are likely starters at outside back, where junior Thomas Janjigian also figures to contribute.
Mats Bjurman, who started seven games as a freshman in 2012, should start in the midfield and sophomore Elliot Farmer could push Michael Breslin for playing time in goal.
Forwards Arya Haghighi, an ESPN Top-150 recruit, and Leo Klink, a two-time Gatorade Hawaii Player of the Year, are two freshmen to watch.
UCI opens its regular season on Aug. 30 at home against Marist and begins conference play Oct. 4 at UC Davis.
The Anteaters join Cal State Northridge, Cal State Fullerton and UC Riverside in the four-team Big West South Division, the top two finishers from which advance to the four-team conference tournament.
UCI plays Chivas USA in an exhibition match on Thursday at 11 a.m. on a practice field near the Home Depot Center. The public is not invited to the exhibition match.


text:
Calcification Seen on Chest X-Ray
Dear OncoLink "Ask The Experts,"
During a recent physical examination, my physician sent me for a chest x-ray, and the x-ray tech had me repeat the frontal chest x-ray. During the follow-up appointment, my doctor said that there was a spot on my lung, but not to worry because it had calcified. A co-worker whose wife was recently diagnosed with breast cancer said that it may not mean all is well, and that I should follow up in 6 months for a comparison x-ray. Should I worry about the calcified spot and request follow up tests or relax? Thank You!
Anil Vachani, MD, Attending Physician at the University of Pennsylvania Medical Center, responds:
First, I should clarify that a calcification seen on a mammogram, which is typically followed up with a breast biopsy, is found to be cancerous about 20% of the time.
Calcification on a chest x-ray, on the other hand, is treated differently, as it can be a sign that the nodule is benign. However, it is standard of care to judge calcification on a CAT scan of the chest. If there was a pleural calcification (which is calcification in the lining of the lung), this could mean that he has been exposed to asbestos, but either way, he should still get a chest CT scan to confirm that the spot is benign.


text:
It's like one of those impossible English Composition class assignments: Describe the Summer Nationals in just one paragraph. Not gonna happen; the show defies labels. You can't simply put it in a tidy box marked "muscle car show." It's Car Craft's huge, annual street-machine get together held every July at the state fairgrounds in St. Paul, Minnesota. It's more than a car show—it's got cruising, seminars, kids' activities, burnouts, bikinis, fairground food, and more. The cars in attendance are just as eclectic. We've got Pro-Street next to Pro-Touring, next to primer rods, and show-car restorations two cars over. We've also got competition in the form of Car Craft's Real Street Eliminator, the results of which we will cover next month. Unlike on that class assignment, here at the magazine we have the luxury of including photos with our words, and that makes it easier to tell the story. So enough with the blabber—here are the pics.
Chevrolet Performance
Pro Builder Shootout
Pro Builder Shootout is a concept that debuted last year. This year's competitors were top notch, and their cars were stunning. This year's pros were:
D & Z Customs: '69 AMX
Lakeside Rods and Rides: '71 Camaro
Muscle Car Restoration: '72 Barracuda
Rad Rods by Troy: '55 Chevy
The Ring Brothers: '65 Mustang
Roadster Shop: '69 Camaro
Schwartz Performance: '81 Trans Am
Woody's Hot Rodz: '57 Chevy
All voting was done by the public, so we magazine snobs had no influence on the results. This year's winner was Woody's Hot Rodz, with its breathtakingly beautiful '57 Chevy. See all the cars and read the pros' bios on CarCraft.com.
Editor's Choice Awards
Another returning feature is the Editor's Choice Awards, cars handpicked by our fearless leader, Editor Glad himself. He can be open to influence with a good cup of coffee and open headers, so file that away for next year. This year's top pick went to Rob Warden and his newly built '64 Dodge. Coincidentally, Doug was freshly caffeinated, and Rob's car hadn't even been to the muffler shop yet, so with a big, loud Hemi and arresting Viper Red paint, this was actually an easy choice to make. Rob had the difficult task of standing for pictures with the ultra-hot General Tire girl upon receiving his plaque. Look for a full feature on his ultra-hot Dodge soon.
Best in Show: Rob Warden's '64 Dodge 330
Best Chevrolet: Rick Goble's '64 Chevrolet Chevelle
Best Ford: Mike Nagel's '70 Ford Torino
Best BOP: Tom Van Kempen's '71 Pontiac Trans Am
Best Brand X: Jim Nelson's '59 AMC American
Best Pro Street: Greg Murphy's '76 Chevrolet Monza
Best Pro Touring: Nathan Shaw's '71 Chevrolet Nova
Top Gun Paint : Gary Nelson's '69 Ford Mustang
Innovation Award: Jeff Carl's Ford Bronco
Royal Purple DIY Garage
We invited top industry experts again this year to give seminars on products and new technologies in the performance industry. Representatives from Comp Cams, Royal Purple, TREMEC Transmissions, TCI, Miller Electric, Meguiar's, Painless Performance, and QA1 were present to show their stuff and answer your questions.
Real Street Eliminator
With a list of competitors growing bigger each year, Real Street Eliminator was a strong draw this weekend, both among competitors and spectators. The components include the QA1 Autocross, Car Craft Launch Box, and Lucas Oil/E3 Dyno Challenge. Winners from each of the three classes were crowned Sunday afternoon. A full account of all the RSE action will run next month.
You didn't have to be a Real Street Eliminator competitor to try your hand on the autocross course or chassis dyno, however. The autocross was open to any registered show participant, and for $50, Andy Wickes of Dyno Tune USA would strap your car to the rollers and give you the good (or bad) news.
Revell Make -N-Take
Here's a cool attraction for the kids and their not-so-grown-up parents. For the second year in a row, Revell had a bunch of model cars for kids to build Saturday afternoon. The parents all said the activity was a nice break in the day, and the kids got to build cars of their own. Here, Caden Scott, 9, and his father, Chris, put together Revell's '69 Camaro model. The two made the 700-mile trip from Brandon, Manitoba, to be at the show.
The Miss Car Craft Summer Nationals Contest
We won't waste too much space here talking about the contest, other than to say the folder for the bikini pictures takes up more drive space on our computers than the rest of the show coverage pictures do. Judging by the size of the crowd gathered at the Miller main stage, we're guessing we aren't the only ones in that situation.
Here are this year's top five finalists:
1st : Desiree Allen
2nd : Ashley Lamella
3rd : Lauren Keller
4th : Laurel Fishbach
5th : Chrissy Wood
Your Perspective
Yes, the Nats are awesome—we put on the show, so of course we're going to say that. We thought it would be interesting to see the show from a participant's point of view.
Steve Strope: Pro-Builder in his own right, Steve was at the show this year helping as the emcee in the Royal Purple DIY Garage. During a brief moment when he wasn't yapping into the mic, we grabbed him to get his take on the show: "The vibe is unique; it's not like the car shows we're used to in Southern California. This place isn't stifled by emissions laws, so different body styles can be built. I love the variety, too. Here, I'm standing in front of a Pro-Touring Mustang. But if I turn around, I'm now looking at a Pro-Street '55 [Chevy]. Next to it is a smoothie-style Camaro, and a few cars down the row is a Street Machine Buick GS. I grew up in the Midwest and miss shows like this. It's refreshing to be here. Guys just build their cars they way they like them—they aren't worried about what the current big trend is."


text:
A Hardin County judge is being viewed as a hero for ending a three-year nightmare, reuniting a mother and her daughter after a drawn-out custody battle involving the child's paternal grandparents.
Judge Britt Plunk didn't buy into the story given by the paternal grandparents Steve and Karen Salter that the mother, Rochelle Nash, was unfit and awarded her sole-managing conservatorship of the child, effective Wednesday, Feb. 2, at noon. In fact, no evidence was presented in court, no study was ever done, no case waws ever filed with Child Protective Services, no allegations of abuse were ever made and no police reports were ever levied against the young mother. The Salters even told Judge Plunk they never witnessed the child dirty, unclothed, hungry or abused but they still believed they would be better parents than Nash and deserved to raise the little girl.
During the one-day hearing Monday, Jan. 31, Judge Plunk heard testimony of how Jeff Salter, 25, convinced then 17-year-old Rochelle Nash to move from Detroit to Texas and live with him and his parents in 2005. He also heard from Jeff's mother that, although she claimed he is not required to register as a sex offender, her son had sexually abused several children. According to testimony in court, Karen Salter omitted that fact when Nash's mother, Barbara Phillips, franticly pleaded with Karen Salter over the phone in 2005 to send her daughter back home.
"She laughed and told me that it would be up to her husband," Phillips told the judge.
Jeff Salter confirmed his penchant for young children when he took the stand and openly admitted to Judge Plunk that he has abused numerous children, some as young as 5 years old. He also said he had been verbally and physically abusive toward Nash during their relationship and that he struck her, leaving marks on her face.
In May 2005, Nash met Jeff Salter over the Internet. About six weeks after she turned 18, she came to Texas but didn't tell anyone where she was going. She boarded a Greyhound bus, and Jeff called Nash's mother telling her that her daughter was on the way to Texas to live with him and his parents.
Oblivious to the situation her daughter was getting into, Phillips pleaded with her daughter and hoped she would return. About two months later she did, but she had Jeff with her. The two returned to the Detroit and several months later Nash had become pregnant. One of the reasons the couple returned to Detroit was because the Salters, who claim to be of the Orthodox Jewish faith, didn't want the unmarried couple living together in their home.
However, the day Jeff told them that Nash was pregnant, they sent bus tickets for the unmarried couple to come live with them in Texas, promising to get them jobs and support them, according to court testimony.
That living arrangement lasted for several months before the young couple had an argument and Jeff left with his infant daughter to hide out an undisclosed location. His father said Jeff was with a "trusted friend" but never told the young mother where her daughter was.
"Jeff's history is with children 5 years and up; (the girl) was still a baby at the time," Steve Salter told the judge. "He took (the girl), got in the car and Karen got in the car with him to make sure he didn't do something in the state that he was in. And the friend that he was with is a very highly moral person, so we were not concerned."
Steve Salter and his wife told Nash she had 24 hours to get out of their home, according to court testimony.
Karen Salter told the judge that they had looked into the legal issues and knew they couldn't "kick" Nash out of their home but she did relay to Barbara Phillips that Nash had 24 hours to find a new place to live.
So, Barbara and her husband Doug drove straight through from Detroit to Texas to get their daughter and grandchild. But when they arrived, Steve and Karen Salter would not tell Nash or her parents where Jeff had taken the baby girl.
Barbara told the judge she tried to get help but because Jeff was the biological father, there was nothing they could do except take the matter to court. With no help, no answers and without her daughter, a distraught Nash returned to Detroit and pleaded for Jeff to bring her little girl home. And after a couple of months, he did.
But during the interim, Steve Salter had taken his son to an attorney and helped him file paperwork to gain custody of the little girl, which set into motion the chain of events that just ended this week.
Jeff abandoned his request for custody of his daughter but the Salters took advantage of a little known area of Texas law that allows grandparents to intervene in custody cases. Their intervention allowed them to seek custody of the little girl for themselves.
When Nash was served with court papers from Hardin County notifying her the Salters were trying to take her baby from her, she hired a Michigan attorney who told her to disregard the Texas court because she and the little girl were not residents of this state. With no knowledge of the law, Nash relied on the advice of her attorney but because she didn't show up in court, the Salters asked Judge Plunk for a default judgment. He awarded temporary custody of the baby girl to the Salters.
"It was horrendous advice," Nash told The Examiner. "I didn't know what to do. I was listening to the attorney and all of the sudden Steve and Karen threatened to put an Amber Alert out and have me arrested."
So, Nash was forced to bring her daughter to Texas and turn her over to the Salters on Dec. 3, 2007.
"It was the hardest day of my life," Nash said. "I couldn't believe they were taking my baby from me."
Nash hired an attorney and fought for her parental rights but the first attorney, Richard Clarkson, took several thousand dollars from her and did little to help her situation. In fact, Nash said he recommended the couple get married because it would help their chances of winning in court. After Clarkson stopped taking her calls, Nash terminated his services and sought out a new attorney.
Several court dates were canceled and costly trips from Detroit to Texas were for naught. In fact, for more than a year the Salters wouldn't even let Nash see her daughter – allowing her to talk to the toddler on the phone only once a week.
About that time, Judge Plunk became seriously ill and had to have a kidney transplant, which took him out of court for months.
And when Nash refused to hand over some medical records they had requested, the Salters punished her by cutting off her telephone contact with her daughter, according to testimony.
She later hired another Beaumont attorney but that also ended poorly. Because she was in Detroit, she said she couldn't keep track of whether or not the attorney was actually working on her case. And when an instance came up that Nash vehemently disagreed with, the attorney didn't appear to have her best interests at heart, she said.
Court records show Karen Salter allowed herself to be called "Mama" and forbade the young mother from being known as "Mama," the child's first words. Nash was forced to call herself "Mommy" and Karen Salter was to be known as "Mama," according to an order signed in September 2009 when Nash was being represented by her second attorney. However, the attorney was able to get Nash visitation with her daughter via Skype video conferencing three times a week and monthly visitation, although it was supervised and at her own expense. Still the young mother, who attends college and has a part-time job, managed to save enough money to travel more than a half-dozen times from Detroit to Texas to see her daughter.
Nash and Jeff Salter had ended their relationship and she pleaded with the attorney to file the paperwork for their divorce. Nash said that attorney also began dodging her calls and then he claimed he filed her divorce in Hardin County. But when a reporter with The Examiner checked, no such divorce case existed, and Nash immediately fired him for not being honest with her.
Nash said she was extremely lucky and, with some help, hired Alicia Hall in 2010. Hall was able to schedule a final custody hearing in hopes of reuniting mother and daughter. She studied the case and pored over hundreds of documents that had been collected by a reporter and a legal assistant who both volunteered their time to help.
After three years, Nash said she had almost lost hope. During that time she documented everything the Salters said on the phone and during the online visits with her daughter. This week, when her note-taking was brought up in court, Karen Salter called Nash "obsessed."
After hearing the Salters call her "delusional," "a liar" and saying she was "obsessed" for wanting her daughter back, a tearful Nash took the stand. She told the judge she loves her daughter and all she has ever wanted since this began was to be a mother.
"The only thing I want is to have my daughter back and have the chance to raise her," Nash told the judge.
And despite the statements made about her in court and the way she was treated by the Salters, she doesn't want to keep her daughter from knowing who her grandparents are.
"I said before that I didn't want (the child) to see them, but they are her family, too," Nash sobbed. "I want her to know who they are."
At the end of the day, Judge Plunk said he would make his ruling soon and both sides departed the courthouse wondering what fate would bring them.
The following afternoon, Judge Plunk named Nash as sole-managing conservator of her daughter, granting her all the rights any mother would have and more importantly, allowing her to take her daughter home to Detroit.
According to the order, the Salters are allowed visitation via Skype and can see the little girl when it is agreeable to both parties. The father was ordered to pay child support and is forbidden to have unsupervised access to the little girl.
When Hall called Nash to tell her of the judge's ruling, the young mother burst into tears.
"I have been waiting for this day for three years," Nash cried. "I knew that I had never done anything to be considered a bad mother. I was so lucky to find Alicia because she made this possible. All I wanted was my little girl and I can't believe it's finally is here. I thought about her every day for three years and there has never been a time I didn't pray she would come home.
"I am so thankful for Judge Plunk. I just wanted my day in court and he gave it to me. He is a hero."
Hall said she was pleased with the ruling but never doubted Judge Plunk would do the right thing both morally and legally.
"Being a mother myself and thinking about all of the things she has missed, it is unfathomable," Hall said. "I just can't imagine missing out on such a big part of your child's life.
"Her previous attorneys let her down. That is disappointing but Judge Plunk recognized there was no factual basis to the allegations against my client."
Jolei Shipley, the attorney representing the Salters respectfully declined comment but acknowledged the little girl is "well loved."


text:
The score was Knicks 103 Generals 65. Do I even need to say more?
New York was pretty good, while Washington was pathetic in both effort and execution. The Generals were completely inept on both sides of the ball, and the final score backs up that sentiment. Washington's excuse for an NBA team shot an abysmal 27.8% from the field. That was not a typo. They also shot just 4/20 from downtown and decided that defense wasn't important either. New York shot a whooping 14/29 from downtown and shot 46.4% on the night. Baron Davis gave himself a sweet birthday gift with an efficient 7/9 shooting 18 point performance. I could stop right now by saying that everyone on the Knicks was good, while everyone on the Wizards sucked, but I'll take the time to go into more detail.
Here are my notes from the game:
- The Generals are absolute garbage. Without Nene in the lineup, they couldn't do anything well offensively. They had about 6 air balls in the game and had a 12 MINUTE stretch in which they didn't make a basket. From the 7:02 mark of the 3rd quarter to the 6:43 mark of the 4th quarter, the Generals were unable to get a single field goal. To their credit, they did get 3 points off free throws. Jordan Crawford did his best Knicks-era Al Harrington impersonation tonight. He seemed to have no concept of passing the ball and shot brick after brick after brick after… you get the point. Crawford was a solid -32 on the night. Jan Vessely and Chris Singleton were 0/7 shooting combined. Their flailing attempts to hit wide open jump shots made me laugh myself silly. Who said that Singleton should have been drafted over Shumpert? WAS IT YOU, STEPHEN A SMITH!?! What a joke! Singleton is long and athletic, but he isn't half the player that Shumpert is. Melo dismantled him, as well as the other crappy Singleton the Generals have. John Wall doesn't do much for me. Sure, he's talented and lightening fast, but he's nothing else. He doesn't shoot very well and he seemingly has no idea how to run an offense. Not to say that he can't learn, but he's very raw and very mediocre, in my opinion. I feel bad for Randy Whitman. @Netw3rk had a great tweet about Whitman tonight.
- I've determined that Steve Novak is some sort of Jedi. I think I may even write a full post about this tomorrow. Stay tuned…
- The Knicks offense was pretty solid. Against a mirage of General defenders, the Knicks were pretty good offensively. They could have been better, but who's complaining? Melo was Melo, dismantling the plethora of Singletons trying to stop him and JR Smith was pretty chic. Earl has been shooting the ball better as of late, 41% from downtown over his past 5 games, which is a great sign for the Knicks. The Generals defense was so invisible that the corpse of Mike Bibby even hit some shots. Bibbster was 2/4 from downtown, which made me pretty happy. More amazing than Bibby contributing, Baron Davis played well. On his
345th34th birthday, Davis hit 4/5 from downtown and scored 18 points. I understand that he was playing against a bunch of mannequins, but I still liked the way he shot the ball tonight. He also wants to wish everyone a happy birthday!
- It was somewhat nice to see Meloship favorite Roger Mason back with at the Garden. I've always liked Money Mase and I always remember his days with the Spurs when he was a pretty solid outside shooter. I felt bad for him today. The Generals didn't run much of an offense and Mason just had to throw up a bunch of three's. I wouldn't mind seeing Mason back with the Knicks next year as a 3rd string guard on a vet minimum deal. I think Mason is a solid locker room guy and I actually liked his on court play late in the season last year. How u?
- Toney Douglas played 9 minutes. Thats about all I have to say about that.
- Jared Jeffries played 5 minutes. I like that. There was no reason to work out his bad knee in a game that the Knicks could have won blindfolded. Good move, Woody.
- On a serious note, Iman Shumpert rolled his ankle in the second half of the game. It didn't look too bad, but his status is questionable for Sunday. Don't believe me? Well believe Alan Hahn.
- I really hate the Generals, if you couldn't tell. My roommate, who I also hate, is from the DC area, so I just completely get annoyed by anything that has to do from that place. Doesn't mean I dislike any of my followers or readers from that area! Don't get the wrong idea! As soon as the school year is over, I'll probably have no opinion on DC or its sports teams, if you want to call them that in the Generals case, but for the time being I really hate the Generals.
- Watch this gem of a Nike Commercial. Its one of my favorites:
- Everyone have a good Saturday, and get ready for the Heat on Sunday.


text:
i'm the cult of personality, Pictures
Do you have facebook timeline yet?
Facebook Quotes Cover - I'm The Cult Of Personality made by our users. We have thousands more of quote covers at our site www.firstcovers.com
User Login Details
Create Account
Reset Password
Reset Password
Sign up / Log In


text:
Mother and daughter Angela and Candi Watts were both diagnosed with breast cancer in 2011. After a two-year battle, they are both disease-free, but the war continues.
The new enemy is their waistlines.
Scientists have discovered that excess weight not only raises the risks of getting cancer but the chances that cancer will return. Now, as medical studies seek to determine how much weight loss is needed for a better prognosis — and whether the fat-cancer link can be disrupted in other ways — patients are being encouraged to slim down.
"We need to do this for our health, now more than ever," said Angela Watts, 59, who is among the first survivors to benefit from a calorie-counting computer program provided by Johns Hopkins Hospital, where she was treated for stage 2 breast cancer. She dropped 5 pounds her first week.
The connection between fat and breast cancer, strongest in those diagnosed with the disease after menopause, is especially troubling given that two-thirds of the local and national population is overweight. Breast cancer remains the most common type of cancer for women, with more than 200,000 diagnoses and almost 40,700 deaths reported in 2009, the most recent year for which government statistics are available.
Doctors and public health officials have long been promoting lifestyle changes to stave off heart disease and diabetes, but they believe fewer people associate better diets and exercise with cancer prevention.
Cancer patients, meanwhile, face their own hurdles. They might have trouble dieting and exercising because treatment often makes them gain weight while experiencing fatigue and other side effects.
Given those challenges, researchers in Baltimore and across the country are seeking the best ways to change behaviors among those with a diagnosis and those who could be headed down that path.
Dr. Lewis E. Foxhall, who works on cancer-prevention policy at the University of Texas MD Anderson Cancer Center in Houston, said doctors don't know exactly how much weight loss improves a prognosis.
One often-cited study, published in 2009, tracked only those who had weight-loss surgery, which typically cuts much more body fat than diet and exercise, and keeps the fat off longer. Researchers also believe biological changes resulting from the surgery itself might have helped reduce women's risk of cancer.
Still, Foxhall, an American Cancer Society board member, recommends that doctors advise all their patients to diet and exercise and that public health officials get the message out.
"We need to pursue the things we know are associated with preventing cancer and help us deal with cancer once we get it," he said. "We need to address nutrition in the community and physical activity in schools and make sure people can make healthy choices."
Scientists theorize that obese women have elevated levels of hormones — including insulin, which regulates blood sugar; estrogen, a female sex hormone; and leptin, which helps regulate appetite — that lead to complex biological changes, including inflammation in the body that can promote cancer growth.
Some researchers are looking for ways to disrupt this link.
Dipali Sharma, an associate professor of oncology at Hopkins, wants to eventually develop a pill. After exploring the biology of many compounds, she's focusing on broccoli, garlic and the magnolia plant, whose properties show promise.
The therapy is a long way off — if it's possible — but important because "it's hard to tell someone just to lose a lot of weight," she said.
"If we know the pathways and the key players, we can develop a pill or capsule that can shut the pathways and tackle the key players and inhibit the link," Sharma said.
Dr. Vered Stearns, co-director of Hopkins' breast cancer program, will join with other U.S. and Canadian researchers during the next year in studying weight reduction among breast cancer survivors — including Angela Watts — and how much their long-term health improves. She will enroll up to 200 overweight women who completed treatment for breast cancer no more than five years ago.
Stearns provided Watts with the computer program and is "hopeful that our busy women will be able to adhere to the intervention that is both personalized and minimizes in-person visits."
Stearns added that all overweight women need to consider how their behavior affects their bodies.
"Being a woman in Western society is a risk factor for breast cancer regardless of family history," she said, adding that she recommends a balanced diet, regular exercise and no smoking.
Angela Watts, 59, says the computer program is helping her. She's been through surgery, chemotherapy and radiation for her breast cancer and she knows that dropping more pounds can reduce the risk of the cancer recurring.
The computer counts calories from her meals and subtracts calories burned from exercising — warning her when she's approaching her daily 1,500-calorie limit. Watts said she weighed as much as 212 pounds and has a goal weight of 150. Cancer, and her 4-year-old grandson Zhione, Candi's son, are motivating her, she said.
Watts said she had no symptoms but was diagnosed with breast cancer in May 2011 when she went for a checkup a month after her daughter was diagnosed at the age of 32. The Watts women, who live in Rosedale, have a genetic mutation that increased their chances of cancer.
They were treated together at Hopkins and are now focused on diet and exercise. Angela Watts said her daughter, now 34, "doesn't have as far to go" in losing weight and isn't participating in the study.
"I always knew I had a weight problem, and losing the weight was something I always wanted but didn't know how to achieve," she said. "Counting calories is working for me."
Watts said she walks at least 30 minutes on a treadmill daily. That gets her "excited to start the day."
Watts is just the kind of woman Lynne Brick likes to see. For years she has been promoting fitness to stave off disease, and for those diagnosed with breast cancer, she launched a boot camp this month with the American Breast Cancer Foundation and the awareness group Pink P.A.W.S.
The president and founder of Brick Bodies fitness centers said the program helps women learn how to get into and stay in shape, which improves their moods and helps them overcome fatigue and other ill effects of treatment. She's hoping it also keeps cancer at bay.
"It's not like we're putting the women through CrossFit or other strenuous exercises, but enough that the women feel good about themselves and develop confidence to keep their bodies strong," she said. "Every year there is another study that demonstrates the importance of fitness.
"So I tell everyone to put on a pedometer and get your 10,000 steps a day."


text:
About Pilipinas Kao, Inc
- Company Profile
- The Kao Way (corporate philosophy)
- History of Pilipinas Kao, Inc.
- Main Products
- CSR Activities
- Contact Us
Kao Chemical Business
- The Chemical Division's Research, Production and Supply System
- Target Industries
- R&D and Basic Technology
- History of Kao's Chemical Business
- Chemicals Major Affiliates
The Chemical Division's Research, Production and Supply System
Global Research and Production System Meeting Users' Needs
The Kao Group has bases handling all phases from research to production and supply in locations in Japan, Asia, Europe and North America, which work together in various ways to provide quality products in timely fashion to users around the world.
- Fragrance research in Spain
Research into product development is carried out for Kao's Beauty Care, Human Health Care, Fabric and Home Care and Chemical business units. Functions of fundamental research, such as material science, biological science, human science and production technology are concentrated and organically linked with our research labs abroad to continually develop new products and technologies.
In particular, our domestic research centers in Wakayama, Kashima, Tochigi and Toyohashi carry out various researches in collaboration with our overseas laboratories in Asia, Europe and the Americas. Our overseas labs focus on developing materials meeting the needs of customers and industries in various areas and carrying out applied research.
Production and Supply
- Chemical plant such as surfactants in Thailand
The Kao Group also has production bases in various locations around the world. In Japan, our plants in Wakayama, Kashima, Tochigi and Toyohashi are fully integrated with our research facilities to develop efficient, high-quality production processes and produce many chemical products.
Overseas, our plants in the Philippines and Malaysia produce oleo chemicals which are shipped to customers and Kao Group companies around the world. Other plants, in Shanghai, Indonesia, Thailand, Germany, Spain, the United States and Mexico, produce performance chemicals destined for various industrial sectors in those regions.
This efficiently organized supply chain allows Kao to speedily supply products from its various bases around the world.
Through research, production and supply, Kao's Chemical Division will use its global network to provide products geared to customer satisfaction.


text:
Exercise Demonstrations
|Powered by SparkPeople.com
Starting Position
Stand facing away from a wall, with your back against the wall. Plant your feet 12" in front of your body with a shoulder width stance, toes pointing forward. This exercise can be used with or without dumbbells.
Leaning against the wall, lower your body until your knees are flexed at a 90 degree angle. Hold this position for two seconds. Your weight should be on your heels, not your toes, and your knees should not cross the plane of your toes. Except to check your knee position, keep your head in a neutral position, looking straight ahead. Extend your legs to elevate your body back to the starting position.
Special Instructions
Don't lock your knees when you extend your legs back to the starting position.
Muscles Worked: Quads, Glutes, Hamstrings


text:
A total of 25 mountain biking enthusiasts participated in the Inaugural Abajo Enduro, a downhill mountain bike race on the Blue Mountains, on Saturday, August 9.
At the completion of the race, Mike West of Boulder, CO was declared the winner and King of the Mountain with a blazing time of 46 minutes and 30 seconds down the 11-mile trail.
Finishing in second place is Bart Gillespie, of Salt Lake City, who finished with a time of 48:46. Rounding out the top three finishers is Darcy Knight of Moab. Knight finished in 52:20.
Erin Moravec of Moab was named Queen of the Mountain with a first place in the women's category and a time of 68:27. Ana James of Telluride, CO finished second, with Rebecca Robbins of Monticello finishing third.
The trail started at 11,000 feet elevation and dropped 3,200 feet while covering eleven miles. The trail finished at Foy Lake, where racers were greeted with cheers from sponsors, volunteers and friends.
"The course was super fun," said race winner West, "I've always drove through Monticello on my way to Moab and wondered what was in these hills, I'm glad I got to come experience it for myself."
Local involvement was key to turn the idea into a reality.
"We had 25 volunteers race day, and couldn't have done it without them or our sponsors" said Race director Andy Platt. Platt said that the race is several years in the making, and local volunteers helped bring the whole thing together.
"The race was a huge success, the weather was perfect it was a great event," added Platt.
After the race, prizes were raffled off and awarded to participants, and many participants enjoyed the provided paddleboards, and spots for camping.
Racers commented that the race was a great "family friendly event."
One racer commented, "You've got all the big venues beat."
Next years Abajo Enduro will take place on August 1. Platt hopes to double participation to 50 riders or more.


text:
Research in News and Media Coverage
Running with the Red Queen:
Science Perspectives, Brockhurst, MA. 2011 Evolution: Sex, death, and the Red Queen.
National Geographic News Watch
Purging deleterious mutations under self-fertilization:
Mutation load and rapid adaptation favour outcrossing over self-fertilization:
News and Views, Agrawal, AF. 2009 Evolutionary biology: Why reproduction often takes two.
The following two links include sexual content that may not be suitable for all individuals:


text:
IE Zero-Day Exploit Released; Who Should Worry?
It's a cliche by now, the availability of such code means two things: You can test with some accuracy whether you're vulnerable, and real-world black hat exploits will be out there fairly soon, if not already. This vulnerability can be invoked simply by viewing a web page in Internet Explorer or some app that uses IE to render HTML.
But which versions are really vulnerable?
Technically, all versions other than IE5 on Windows 2000 (a version due to be taken off life support in 6 months). But there are some important mitigations which are displayed beautifully in a blog entry by Microsoft's SRD (Security Research and Defense team:
Note that it's Windows 2000 and Windows XP which are basically vulnerable, and then only in some cases. IE8 turns on DEP (Data Execution Prevention) by default, and protected mode in Vista and Windows 7 are standard as well. DEP blocks the vulnerability itself; Protected mode blocks the exploit. It may be possible to write an exploit that gets around protected mode, but this is an academic question, since all protected mode systems also support DEP as well.
It's also true that, depending on how it's set up, Vista with IE7 may not have DEP turned on by default. Such users should be protected from the actual exploits by protected mode, but you can turn on DEP following the instructions in the SRD blog.
So putting Windows 2000 aside for the moment, the only vulnerable platform, as a practical matter, is Windows XP, and only for IE6 and IE7. IE7 is a bit of a wild card, as the exploits used in Aurora and the proof of concept both are sensitive to memory layouts and only work on IE6. Researchers insist that IE7 should be as exploitable, but they have to build a separate exploit for it and just haven't done it yet.
The primary moral of the story is that defense-in-depth has once again showed its value, as a serious vulnerability was blocked by a systemic defense. Users who keep their software up to date are protected against attack, more often than not. If you were to run any of the non-vulnerable configurations and turn off DEP or protected mode you would once again be vulnerable, but who's fault would that be?
The other moral of the story is that if you're using IE6, you really ought to move on: Go to Firefox, go to Chrome (it's my primary browser now), or upgrade to IE8, but running IE6 is like putting a big "Hack Me!" sign on your back.
Originally posted to the PCMag.com security blog, Security Watch.


text:
The Consumer Electronics Show, the tech industry's annual confab that is expected to attract 150,000 attendees, is about to get underway again in Las Vegas, and I'm looking forward to it.
In recent years, some major tech companies have either avoided the show or reserved their biggest announcements for other venues, making me wonder if all the CES hubbub was worth it. But this year's show has a lot of promise because several newer technologies have matured enough to make a difference in consumers' lives — or soon will. Here are some of the things I'm excited to see:
Wearable technologies: The era of wearable tech got under way last year with the debut of Google (GOOG) Glass and a collection of "smart" watches, including the Pebble. As their name implies, these devices are worn on the body and resemble eyeglasses or watches, but they possess some of the same capabilities of smartphones. Typically, they can run or interact with apps and often can display short messages or even make phone calls or send messages. Numerous new wearable products are expected to be unveiled or showcased at CES, and many analysts think wearables will be the big story of the show.
Convention organizers have devoted a special area to highlight 10 smart watch vendors. And we're likely to see a variety of new "smart" glasses that will attempt to steal some of the spotlight from Google Glass.
The wearable market, which someday could include clothing or jewelry with embedded sensors and processors, is currently focused on smart watches and eyewear but is rapidly maturing. Already wearable products come in a range of price points, capabilities and designs, noted John Curran, a senior executive at Accenture's Communications, Media and Technology group. And manufacturers are improving the design and aesthetics of the products, which should encourage mainstream adoption.
"I think we're at a real inflection point where this goes from more niche really into the mainstream," Curran said.
New TV tech: TVs have long had pride of place at CES. Every year, the show starts off with announcements of new models from the big television makers.
But television manufacturers have been flailing in recent years. Other than extra-large screens, few new TV technologies have drawn much interest from consumers. Stereoscopic 3-D technology, for instance, was a big bust.
But new technologies that will be touted at CES could give TV sales a boost. Ultra-high-definition technology, or 4K, which offers super-sharp images on large-screen sets, is becoming more widespread and available at lower prices. Manufacturers are also likely to show off TVs with curved screens, which are supposed to offer a more immersive experience thanks to a wider viewing angle.
I'm also looking forward to the latest in OLED TVs. These have the promise to eventually be razor thin, even to the point where they could be installed like wallpaper. And even 3-D could see a revival. Several companies are touting new technologies that provide 3-D viewing without the goofy glasses that helped undermine the demand for 3-D TVs in the past.
3-D printing: This is another area that's likely to draw a lot of excitement and interest this year. The technology works somewhat like inkjet printers, but instead of printing lines of text with small dots of ink, 3-D printers deposit small amounts of plastic or other materials layer by layer to create solid objects, which can range from toys to car parts. Show organizers set up a special area for 3-D printing companies last year; this year, the area will be three times larger, with 27 companies represented.
As with wearable technologies, 3-D printing is looking like it could soon become a mainstream technology. Prices are coming down, machines are getting smaller and consumers are starting to discover more uses for them. And manufacturing companies such as MakerBot have come out with 3-D scanning technologies that allow users to make both digital and 3-D printed copies of real-world objects, such as a plastic animal model.
The market reminds me of the advent of desktop publishing 30 years ago with the development of consumer-grade laser and inkjet printers. "It's really taken off," said Brian Blau, a consumer technology analyst at Gartner.
The great unknown: Each year I find a handful of companies or technologies that are unexpectedly exciting — or just downright cool. Last year, it was the giant 8K televisions, which offer 4 times the resolution of 4K TVs — and 16 times that of today's high-definition sets. The images were so sharp that I could barely see any graininess even when within a few feet of them. Three years before, I saw Parrot's AR.Drone for the first time. Much more than a simple remote-controlled plane, the AR.Drone is essentially a flying robot, which can be flown with a smartphone and can be used to take pictures from above or to play "augmented reality" games, which overlay computer-generated objects on to images of the real world. The latest version can be programmed to fly from one point to another autonomously.
I hope I'll find something just that neat and exciting this year, and I'm betting I will.
Contact Troy Wolverton at 408-840-4285 or firstname.lastname@example.com. Follow him at www.mercurynews.com/troy-wolverton or Twitter.com/troywolv.
CES at a Glance
What: Annual electronics industry trade show
When: Events start Sunday but officially runs from Tuesday through Friday
Where: Las Vegas
Attendees: About 150,000
Exhibitors: More than 3,200
Exhibition space: More than 1.9 million square feet
Notable speakers: Brian Krzanich, CEO of Intel; Kazuo Hirai, CEO of Sony; Marissa Mayer, CEO of Yahoo; John Chambers, CEO of Cisco; Dick Costolo, CEO of Twitter
Source: Consumer Electronics Association