text:
Select a different country:
Calicut to Katapady AC Bus Tickets Booking
If you could not find the bus city of your choice,
please let us know and we will try to add it to our list.
We might still be able to book the bus ticket(s) of your choice on the phone. Please call us at 1800-102-8747 (Toll Free) to book on the phone.
Book Calicut to Katapady AC Buses
- » Book tickets for all types of buses through MakeMyTrip Online Booking.
- » About 1 Operators have buses running between Calicut and Katapady.
- » Sri Durgamba Travels Operates maximum number of AC Buses between Calicut and Katapady.
- » Bus Types available between Calicut and Katapady are Non A/c Seater (2x2).
- » Book AC Buses Here.
About Calicut
Popularly known as Kozhikode, Calicut is a coastal city of Kerala state. Along with its picturesque beach, Calicut is known for well managed parks, temples and museums. Manachira Square is the main hub of the city. You can reach Calicut by air travel, bus services or trains. Domestic LCCs operate flights to Calicut from important cities. You can book flight tickets after checking flight schedule and airfares. If you wish to travel by inter state buses, book bus tickets trough online bus bookings. Online bus tickets are also available for Volvo, AC bus, luxury bus and sleeper bus. Calicut Railway Station is served by trains of Indian Railways. Rail reservations can be made online. If planning cheap holidays in Calicut, enquire about budget packages and accommodation at fair discount. Alternatively, you can choose from cheap deals and do online booking for star or luxury rated hotels. Hurry and proceed on a relaxing vacation to Calicut.
About AC
AC bus services are offered by state road transport corporations as well as private bus operators and bus travel companies. Air conditioned buses generated a wave of relief when they were introduced into the passenger road transport industry over two decades ago. Prior to that, passengers had to bear the extreme weather conditions prevalent in the regions that they travelled across. Ever since the introduction of AC bus services, passengers enjoy a pleasant bus ride to their preferred destination, unaffected by weather conditions outside the AC bus. For a comfortable travel experience, AC buses are fitted with upholstered seats that can be reclined. Windows have curtains to block out the sun while some AC buses also play music or movies for entertainment of passengers. AC buses are available on all important road routes, connecting all main cities to major tourist, commercial and religious destinations. AC bus services are available from all major cities including Delhi, Mumbai, Bangalore, Chennai, Hyderabad, Pune, Ahmedabad, Jaipur, Kolkata, Chandigarh, Shimla, Agra, Dehradun and many more. Even smaller towns are connected by inter state AC buses. For the most convenient booking experience, book your AC bus tickets online and enjoy a hassle free experience. Opt from a range of bus operators while you book your AC bus ticket through the online bus ticket booking system. For AC Buses online booking, visit MakeMyTrip.com.
Things To Know About Calicut
During Calicut vacations, take an excursion to Beypore (10 km), a coastal city known for its old shipbuilding industry. Kappad, approximately 16 km away from Calicut is another must visit nearby place. Other nearby destinations from Calicut include Thusharagiri (55 km), Wayanad (75 km) and Guruvayur (100 km). You can cover these destinations through bus services or trains. Bus tickets can be booked for inter state buses. Alternatively, you can do bus bookings for AC bus, sleeper, Volvo or luxury bus. Indian Railways offers reservations for mail or express trains from Kozhikode Railway Station. Book railway ticket in advance and avoid last minute hassle.
Book Calicut Katapady AC Bus Tickets online booking @Rs.100 - use code BUS120 and get 120 Rs OFF at MakeMytrip.com. + AC bus available , + Operators from Calicut to Katapady. Bus seats are filling up fast..Reserve YOURS Now!


text:
The origins of our canine companions are often debated among academics and dog lovers alike. But although there is still much to know about how the first dogs came to be, the introduction of cats into the human world seems better established. Cats became part of our lives 7,000 to 8,000 years ago, after people had already begun to live in permanent communities. Apparently attracted to rodents who came to feed on stored grain, the ancestor of today's cat, the African wildcat, became a frequent and welcome visitor. The cat, as we know her, played an important part in Egyptian culture and lore. It was also at this time that felines and humans began a curious relationship that has proven to be both good and bad for the cat.
The Cultured Cat
The Egyptians thought so highly of cats that the goddess Bastet was depicted as one. Strict limits were placed on taking cats outside of Egypt, and families actively mourned the deaths of beloved household felines. Their mummies have been found in huge numbers. Egypt was at the crossroads of great trading enterprises, and cats soon found their way both east and west. Short-haired cats arrived in Italy 2,100 years ago and moved across Europe quickly, finally reaching England some 1,900 years ago.
Almost everywhere they went, cats were welcomed for their ability to control rodent populations. In many places, they were also appreciated for their companionship. Their darkest hour probably came during the Middle Ages in Europe. Christian religious leaders linked cats with the practice of witchcraft, and sanctioned their wholesale slaughter. This is a particular irony, as cats likely played an important role in helping to protect Europe from even greater devastation during the Black Plague, by killing the rats that carried infected fleas from home to home. The Renaissance, which brought new light to many areas of human endeavor, benefited cats, too. They began to appear in paintings and literature as objects of affection. Later, settlement of the New World brought cats across the Atlantic, and they followed the colonists as they spread across the continent.
The Cat as Companion
It was the development of the middle class that profoundly changed the role of felines in our society and homes. Cats were no longer relegated to the role of rodent wrangler, and came more and more to fill that of companion. Their appeal is such that over the past ten years, they have supplanted dogs as the most common companion animal in the United States. Yet as a continued reflection of our mixed appreciation of cats, research shows that we are less likely to take cats to the veterinarian, provide proper identification or keep them indoors where they will be safe. A variety of sources suggest that there may be as many cats living homeless, as strays and ferals, as there are in homes. A good reason to consider adopting a pet, check out these great local rescue groups!
Unlike our friend the dog, the cat's evolution took place largely without the assistance or presence of a human partner. They did not undergo the long-term genetic selection that produced specialized canine breeds for hunting, herding or guarding. As a result, domestic cats have retained many aspects of their original feline behaviors. This may further the mistaken impression that cats can do fine on their own and require limited attention from human caretakers.
Cats have avoided many of the problems that dogs have faced due to selection for exaggerated physical characteristics. There have been just a handful of unusual physical traits fixed as breed characteristics. The shortened muzzle of the Persian family, the ears of the Scottish Fold, and the tailless Manx are among the few examples. It may be important to stay vigilant in this area, however, since the ever-growing popularity of cats may stimulate an expanded desire for "new and different" breeds and varieties, such as the Munchkins and Twisty Cats of recent years.
Much like dogs, cats have adapted to our lives independent of a need we may have for them to work for us. Instead of mice, they now capture our imagination and affection. And while the world may forever remain divided into dedicated dog people and cat lovers, many of us revel in the fun and complexity of having both dogs and cats in our homes. If nothing else, we may want to heed the old Irish proverb that warns, "Beware of people who dislike cats."
This article was written by Stephen L. Zawistowski, ASPCA Science Advisor.

subset: commoncrawl


text:
A Comparison of Spring MVC and JAX-RS
- Share
- |
Read later
Reading List
Over the past few years REST has become an important concept influencing the design of web frameworks, web protocols and applications. If you haven't been exposed to it, see this brief introduction among many others you can find.
The ever growing importance of REST is not surprising considering the need for companies to expose web APIs that should be as simple and as deeply rooted in the architecture of the web as can be. Rich browser clients communicating via Ajax also seek much of the same. And there is no reason why any web application can't benefit from the architectural principles that have helped to scale the world wide web.
JAX-RS (JSR 311) is the Java API for RESTful Web Services. JAX-RS was created with the participation of Roy Fielding who defined REST in his thesis. It provides those seeking to build RESTful web services an alternative to JAX-WS (JSR-224). There are currently 4 JAX-RS implementations available, all of which provide support for using Spring. Jersey is the reference implementation and the one used in this article.
If you're a developer working with Spring you may be wondering (or you may have been asked) how Spring MVC compares to JAX-RS? Furthermore, if you have an existing Spring MVC application that uses the controller class hierarchy (SimpleFormController and friends), you may not be aware of the comprehensive REST support now available in Spring MVC.
This article will walk you through the REST features available in Spring 3 and will relate them to JAX-RS. Hopefully the exercise will help you to understand the similarities and the differences between the two programming models.
Before starting out, it may be helpful to point out that JAX-RS targets the development of web services (as opposed to HTML web applications) while Spring MVC has its roots in web application development. Spring 3 adds comprehensive REST support for both web applications and web services. This article however will focus on features relating to the development of web services. I believe this approach will make it easier to discuss Spring MVC in the context of JAX-RS.
A second note to make is that the REST features we'll be discussing are a part of the Spring Framework and are a continuation of the existing the Spring MVC programming model. Hence there is no "Spring REST framework" as you might be tempted to say. It's just Spring and Spring MVC. What this practically means is that if you have an existing Spring application you can expect to be able to use Spring MVC both for creating an HTML web layer and a RESTful web services layer.
About The Code Snippets
The code snippets shown throughout the article assume a simple domain model with two JPA-annotated entities named Account and Portfolio where an Account has many Portfolios. The persistence layer is configured with Spring and consists of a JPA repository implementation for retrieving and persisting entity instances. Jersey and Spring MVC will be used to build a web services layer for servicing client requests by calling the underlying Spring-managed application.
Bootstrap And Wire The Web Layer
We will assume the use of Spring for dependency injection in both the Spring MVC and the JAX-RS scenarios. The Spring MVC DispatcherServlet and the Jersey SpringServlet will delegate requests to Spring-managed REST-layer components (controllers or resources) that will in turn be wired with either business or persistence components as follows:
Both Jersey and Spring MVC will rely on Spring's ContextLoaderListener to load business and persistence components such as the JpaAccountRepository:
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:META-INF/spring/module-config.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
The ContextLoaderListener can be used in the context of any web or REST framework.
Set Up Spring-Managed JAX-RS Resources In Jersey
Jersey provides support for using Spring in the REST layer. It can be enabled in two simple steps (actually three if you include adding the build dependency on the maven artifact com.sun.jersey.contribs:jersey-spring).
Step one: add the following to your web.xml to ensure JAX-RS root resources can be created with Spring:
<servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class> com.sun.jersey.spi.spring.container.servlet.SpringServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/resources/*</url-pattern> </servlet-mapping>
Step two: declare root JAX-RS resource classes with some Spring and some JAX-RS annotations:
@Path("/accounts/") @Component @Scope("prototype") public class AccountResource { @Context UriInfo uriInfo; @Autowired private AccountRepository accountRepository; }
The following is a description of the annotations:
@Component declares AccountResource as a Spring bean.
@Scope makes it a prototype Spring bean that's instantiated every time it is used (i.e. on each request).
@Autowired requests a reference to an AccountRepository, which Spring will provide.
@Path is a JAX-RS annotation that declares AccountResource as a "root" JAX-RS resource.
@Context is also a JAX-RS annotation requesting the injection of the request-specific UriInfo object.
JAX-RS has the notion of "root" resources (marked with @Path) and sub-resources. In the example above AccountResource is a root resource that handles paths starting with "/accounts/". Methods within AccountResource like getAccount() need only declare paths relative to the type-level path:
@Path("/accounts/") @Component @Scope("prototype") public class AccountResource { @GET @Path("{username}") public Account getAccount(@PathParam("username") String username) { } }
The path to "/accounts/{username}" where username is a path parameter and can take the value of any user name for a given account, will be handed to the getAccount() method.
Root resources are instantiated by the JAX-RS runtime (Spring in this case). Sub-resources on the other hand are instantiated by the application. For example to handle requests for "/accounts/{username}/portfolios/{portfolioName}", the AccountResource, as identified by the leading portion of the path ("/accounts"), will create an instance of a sub-resource to which the request will be delegated:
@Path("/accounts/") @Component @Scope("prototype") public class AccountResource { @Path("{username}/portfolios/") public PortfolioResource getPortfolioResource(@PathParam("username") String username) { return new PortfolioResource(accountRepository, username, uriInfo); } }
PortfolioResource itself is declared without annotations and will have all its dependencies passed down by the parent resource:
public class PortfolioResource { private AccountRepository accountRepository; private String username; private UriInfo uriInfo; public PortfolioResource(AccountRepository accountRepository, String username, UriInfo uriInfo) { this.accountRepository = accountRepository; this.username = username; this.uriInfo = uriInfo; } }
Root and sub-resources in JAX-RS set up a processing chain that involves multiple resources:
Keep in mind resource classes are web service layer components and should remain focused on web service related processing such as translating input, preparing the response, setting the response code, etc. It's also worth pointing out that the practicalities of separating web services logic from business logic often necessitate wrapping business logic into a single method that serves as a transaction boundary.
Setting Up Spring MVC @Controller Classes
For Spring MVC we'll set up the DispatcherServlet with a contextConfigLocation parameter that points to Spring MVC configuration:
<servlet> <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring/*.xml </param-value> </init-param> </servlet>
To start off the annotation based programming model in Spring MVC (@MVC) requires only a small amount of configuration. This component-scan element tells Spring where to find @Controller-annotated classes.
<context:component-scan base-package="org.springframework.samples.stocks" />
After that we can declare an AccountController as follows:
@Controller @RequestMapping("/accounts") public class AccountController { @Autowired private AccountRepository accountRepository; }
The @RequestMapping annotation maps this controller to all requests starting with "/accounts". Methods in AccountController like getAccount() need only declare paths relative to that:
@RequestMapping(value = "/{username}", method = GET) public Account getAccount(@PathVariable String username) { }
Spring MVC does not have the notion of root resources and sub-resources. Hence every controller is managed by Spring and not by the application:
@Controller @RequestMapping("/accounts/{username}/portfolios") public class PortfolioController { @Autowired private AccountRepository accountRepository; }
Requests for "/accounts/{username}/portfolios" are delegated directly to the PortfolioController without any involvement from the AccountController. It's worth pointing out that this request could also be handled directly in the AccountController thereby removing the need for a PortfolioController.
Web Layer Component Scope
In JAX-RS, AccountResource was declared with per-request semantics. This is the default recommendation of JAX-RS. It enables the injection and storing of request-specific data (request headers, query parameters, cookie values) in the resource class itself. This applies to root-level resources, which are managed by JAX-RS. Sub-resources are instantiated by the application and do not benefit directly from this.
In Spring MVC controllers are always created as singletons. They accept request-specific data as method arguments, which is also an option in JAX-RS where resources can also be created as singletons.
Mapping Requests To Methods
Next we'll take a look at how Spring MVC and JAX-RS map requests to methods. Both @Path and @RequestMapping support extracting path variables from the URL:
@Path("/accounts/{username}") @RequestMapping("/accounts/{username}")
Both frameworks also support the use of regular expressions for extracting path variables:
@Path("/accounts/{username:.*}") @RequestMapping("/accounts/{username:.*}"
Spring MVC's @RequestMapping allows matching requests based on the presence or absence of query parameters:
@RequestMapping(parameters="foo") @RequestMapping(parameters="!foo")
or based on the value of a query parameter:
@RequestMapping also allows matching requests based on presence (or absence) of headers:
@RequestMapping(headers="Foo-Header") @RequestMapping(headers="!Foo-Header")
or based on the value of a header:
Working With Request Data
HTTP requests contain data that applications need to extract and work with. That includes HTTP headers, cookies, query string parameters, form parameters, or more extensive data sent in the body of the request (XML, JSON, etc.) In RESTful applications the URL itself can also carry valuable information such as which resource is being accessed via path parameters or what content type is needed via file extensions (.html, .pdf) The HttpServletRequest provides low level access to all that but doing so can be quite verbose.
Request Parameters, Cookies, and HTTP Headers
Spring MVC and JAX-RS have annotations for extracting such HTTP request values:
@GET @Path public void foo(@QueryParam("q") String q, @FormParam("f") String f, @CookieParam("c") String c, @HeaderParam("h") String h, @MatrixParam("m") m) { // JAX-RS } @RequestMapping(method=GET) public void foo(@RequestParam("q") String q, @CookieValue("c") String c, @RequestHeader("h") String h) { // Spring MVC }
The above annotations are very similar except that JAX-RS supports the extraction of matrix parameters and has separate annotations for query string and form parameters. Matrix parameters are not commonly seen. They're similar to query string parameters but applied to specific path segments (e.g. GET /images;name=foo;type=gif). Form parameters will be discussed shortly.
JAX-RS allows placing the above annotations on fields and setters assuming a resource is declared with per-request scope.
Spring MVC has a space-saving feature that allows omitting names from the above annotations as long as the names match to the Java argument names. For example a request parameter called "q" requires the method argument to be called "q" as well:
public void foo(@RequestParam String q, @CookieValue c, @RequestHeader h) { }
This is rather handy in method signatures that are already stretched long due to the use of annotations on every argument. Also bear in mind this feature requires that code isn't compiled without debugging symbols.
Type Conversion And Formatting Of HTTP Request Values
HTTP request values (headers, cookies, parameters) are invariably String-based and that requires parsing.
JAX-RS handles parsing of request data by looking for a valueOf() method or a constructor accepting a String in the custom target type. To be precise JAX-RS supports the following types of annotated method arguments including path variables, request parameters, HTTP header values, and cookies:
- Primitive types.
- Types that have a constructor that accepts a single String argument.
- Types that have a static method named valueOf with a single String argument.
- List<T>, Set<T>, or SortedSet<T>, where T satisfies 2 or 3 above.
In Spring 3 all of the above is supported as well. In addition, Spring 3 provides a new type conversion and formatting mechanism that can be annotation-driven.
Form Data
As mentioned above JAX-RS makes a distinction between query string parameters and form parameters. While Spring MVC has just one @RequestParam, it also provides a data binding mechanism for dealing with form input that Spring MVC users will be familiar with.
For example one option to process a form submitting 3 pieces of data is to declare a method with 3 arguments:
@RequestMapping(method=POST) public void foo(@RequestParam String name, @RequestParam creditCardNumber, @RequestParam expirationDate) { Credit card = new CreditCard(); card.setName(name); card.setCreditCardNumber(creditCardNumber); card.setExpirationDate(expirationDate); }
However as the size of the form grows this approach becomes impractical. With data binding, a form object of an arbitrary structure including nested data (billing address, mailing address, etc.) can be created, populated and passed in by Spring MVC:
@RequestMapping(method=POST) public void foo(CreditCard creditCard) { // POST /creditcard/1 // name=Bond // creditCardNumber=1234123412341234 // expiration=12-12-2012 }
Form processing is important for working with web browsers. Web service clients on the other hand are more likely to submit XML or JSON-formatted data in the body of the request.
Processing Request Body Data
Both Spring MVC and JAX-RS automate the processing of request body data:
@POST public Response createAccount(Account account) { // JAX_RS } @RequestMapping(method=POST) public void createAccount(@RequestBody Account account) { // Spring MVC }
Request Body Data In JAX-RS
In JAX-RS, entity providers of type MessageBodyReader are responsible for converting request body data. JAX-RS implementations are required to have a JAXB MessageBodyReader. Custom MessageBodyReader implementations annotated with @Provider may also be provided.
Request Body Data in Spring MVC
In Spring MVC you add @RequestBody to a method argument if you want it to be initialized from request body data. This is in contrast to initialization from form parameters as was shown earlier.
In Spring MVC, classes of type HttpMessageConverter are responsible for converting request body data. A marshalling Spring OXM HttpMessageConverter is provided out of the box. It enables use of JAXB, Castor, JiBX, XMLBeans, or XStream. There is also a Jackson HttpMessageConverter for use with JSON.
HttpMessageConverter types are registered with the AnnotationMethodHandlerAdapter, which adapts incoming requests to Spring MVC @Controllers. Here is the configuration:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" > <property name="messageConverters" ref="marshallingConverter"/> </bean> <bean id="marshallingConverter" class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter"> <constructor-arg ref="jaxb2Marshaller"/> <property name="supportedMediaTypes" value="application/vnd.stocks+xml"/> </bean> <oxm:jaxb2-marshaller id="jaxb2Marshaller"/>
The following diagram illustrates this configuration:
The new mvc custom namespace in Spring 3 automates the above configuration. All you need to do is add:
<mvc:annotation-driven />
That will register a converter for reading and writing XML if JAXB is on the classpath and a converter for reading and writing JSON if Jackson is on the classpath.
Preparing The Response
A typical response may involve selecting the response code, setting HTTP response headers, adding data to the body of the response, as well as dealing with exceptions.
Setting Response Body Data With JAX-RS
To add data to the body of the response in JAX-RS, you simply return the object from the resource method:
@GET @Path("{username}") public Account getAccount(@PathParam("username") String username) { return accountRepository.findAccountByUsername(username); }
JAX-RS will find an entity provider of type MessageBodyWriter that can convert the object to the required content type. JAX-RS implementations are required to have a JAXB MessageBodyWriter. Custom MessageBodyWriter implementations annotated with @Provider may also be provided.
Setting Response Body Data With Spring MVC
In Spring MVC a response is prepared through a view resolution process. This allows selecting from a range of view technologies. When working with web service clients, however, it may be more natural to bypass the view resolution process and use the object returned from the method :
@RequestMapping(value="/{username}", method=GET) public @ResponseBody Account getAccount(@PathVariable String username) { return accountRepository.findAccountByUsername(username); }
When a controller method or (its return type) is annotated with @ResponseBody, its return value is processed with an HttpMessageConverter and then used to set the response of the body. The same set of HttpMessageConverter types used for request body arguments is also used for the body of the response. Hence no further configuration is required.
Status Codes & Response Headers
JAX-RS provides a chained API for building a response:
@PUT @Path("{username}") public Response updateAccount(Account account) { // ... return Response.noContent().build(); // 204 (No Content) }
This can be used in conjunction with a UriBuilder to create links to entities for the Location response header:
@POST public Response createAccount(Account account) { // ... URI accountLocation = uriInfo.getAbsolutePathBuilder().path(account.getUsername()).build(); return Response.created(accountLocation).build(); }
The uriInfo used above is either injected into a root resources (with @Context) or passed down from parent to sub-resource. It allows appending to the path of the current request.
Spring MVC provides an annotation for setting the response code:
@RequestMapping(method=PUT) @ResponseStatus(HttpStatus.NO_CONTENT) public void updateAccount(@RequestBody Account account) { // ... }
To set a location header you work directly with the HttpServletResponse objects:
@RequestMapping(method=POST) @ResponseStatus(CREATED) public void createAccount(@RequestBody Account account, HttpServletRequest request, HttpServletResponse response) { // ... String requestUrl = request.getRequestURL().toString(); URI uri = new UriTemplate("{requestUrl}/{username}").expand(requestUrl, account.getUsername()); response.setHeader("Location", uri.toASCIIString()); }
Exception Handling
JAX-RS allows resource methods to throw exceptions of type WebApplicationException, which contain a Response. The following example code translates a JPA NoResultException to the Jersey-specific NotFoundException, which causes the return of a 404 error:
@GET @Path("{username}") public Account getAccount(@PathParam("username") String username) { try { return accountRepository.findAccountByUsername(username); } catch (NoResultException e) { throw new NotFoundException(); } }
Instances of WebApplicationException encapsulate the logic necessary to produce a specific response but the exceptions must be caught in each individual resource class method.
Spring MVC allows defining controller-level methods for dealing with exceptions:
@Controller @RequestMapping("/accounts") public class AccountController { @ResponseStatus(NOT_FOUND) @ExceptionHandler({NoResultException.class}) public void handle() { // ... } }
If any controller methods throw JPA's NoResultException, the above handler method will be invoked to handle it and return a 404 error. That allows each controller to deal with exceptions as it sees fit from a single place.
Hopefully this article has helped you to see how Spring MVC can be used for building RESTful web services and how that compares to the JAX-RS programming model.
If you're a Spring MVC user you're probably developing HTML web applications. REST concepts apply to web services and to web applications alike especially in rich client interactions. In addition to the features discussed in this article, Spring 3 also adds support for RESTful web applications. Here is a partial list: a new JSP custom tag for building URLs from URL templates, a servlet filter for simulating form submissions based on HTTP PUT and DELETE, a ContentTypeNegotiatingViewResolver for automating view selection based on content type, new view implementations, and more. Last but not least is the updated and much improved Spring documentation.
About the Author
Rossen Stoyanchev is a senior consultant at SpringSource. In his career he has worked on a trading application, an investment accounting system and an e-commerce web application, amongst others. Within SpringSource Stoyanchev focuses on web technologies including consulting, training, and content development of the "Rich-Web Development With Spring" course, which enables attendees to become certified Spring web application developers.
Rate this Article
Hello stranger!You need to Register an InfoQ account or Login or login to post comments. But there's so much more behind being registered.
Get the most out of the InfoQ experience.
Tell us what you think
Nice article
Lars Tackmann
"PortfolioResource itself is declared without annotations and will have all its dependencies passed down by the parent resource"
You can also have JAX-RS inject/proxy child resources (and thus gain full access to Spring DI in these) by using a ResourceContext E.g. the code:
public PortfolioResource getPortfolioResource(@PathParam("username") String username) {
return new PortfolioResource(accountRepository, username, uriInfo);
public PortfolioResource getPortfolioResource(@PathParam("username") String username) {
PortfolioResource portfolioResource = resourceContext.getResource(PortfolioResource.class);
return portfolioResource;
this way portfolioResource is still proxied and thus can take full advantage of the Spring DI/Aspect hoopla.
Re: Nice article
Rossen Stoyanchev
What about content-negotiation?
Ralph Winzinger
Re: What about content-negotiation?
Rossen Stoyanchev
JAX-RS has @Produces and @Consumes that allow you to limit the content types you can support. You can also do this in Spring MVC by matching on headers in your @RequestMapping annotation.
Re: What about content-negotiation?
Solomon Duskis
Spring MVC REST annotations caught up, and may have surpassed the JAX-RS annotations. I'm looking forward to new and exciting features that a single entity like SpringSource can pump out; a JSR committee can't have as quick feature turn around.
hypermedia media aware resources
pradeep partha
Is there any plan for supporting hypermedia resources(HATEOAS) similar to Restfulie as explained in www.infoq.com/news/2009/11/restfulie-hypermedia...
Since Spring support for REST is not implementing jax-rs it gives the benefit of adding more features than what current jax-rs spec supports.
Alexis Moussine-Pouchkine
Re: hypermedia media aware resources
Rossen Stoyanchev
Is there any plan for supporting hypermedia resources(HATEOAS) similar to Restfulie as explained in www.infoq.com/news/2009/11/restfulie-hypermedia...
Hi Pradeep, thanks for the pointer to that article. The creation of links is not simple and is not deemed simple. There are multiple ways to do links and to describe what to do with them, which it makes it difficult for a framework to generalize. Also required links are often not necessarily based on the URI of the current resource. See this for example.
That said you can certainly expect to see incremental improvements in the ability to work with links both client and server side.
Spring MVC and exceptions
Peter Coppens
One thing I found difficult to deal with is exception handing in Spring MVC. I was not able to get a message converter invoked on the return of the exception method. The only way I could get this going was through a view, but that seems overkill in the context of a webservices client.
Re: JSR 311
Slobojan Ryan
Thanks for the catch - this has been updated in the article above.
Ryan Slobojan
Chief Editor, InfoQ.com
Re: Spring MVC and exceptions
Rossen Stoyanchev
One thing I found difficult to deal with is exception handing in Spring MVC. I was not able to get a message converter invoked on the return of the exception method. The only way I could get this going was through a view, but that seems overkill in the context of a webservices client.
Hi Peter, I think this JIRA ticket is referring to the same issue. You could vote on it. It appears the developer who reported it has already tracked it provided a patch.
Re: Spring MVC and exceptions
Peter Coppens
Re: Spring MVC and exceptions
Rossen Stoyanchev
The JIRA ticket link seems to point to your blog. Would you happen to have some id or actual jira link? I would happily go and vote for it
Sorry, I didn't mean to link to that (may be Ryan can edit my comment and correct the link)? This is the actual link to SPR-693.
Re: hypermedia media aware resources
Solomon Duskis
1) the first step, IMHO, is to be allow the user to easily construct/manage the generation of URLs based on some domain object.
2) The next step is using that ease of URL generation as part of the marshalling process.
n) Sometime after that, adding semantic markup to provide a "meaning" of that URL
n+1) generating URLs based on a notion of workflow/"action" (payment/cancellation) there's generating URLs Adding semantics to those URLs (as Restfullie does based on Jim Webber's How to GET a cup of cofee)
I'd like to illustrate #1 and #2:
For example, let's say you have an Artist & Soundtrack domain. Artists and soundtracks have a relationship to each other. Those relationships should be expressed through some kind of linking mechanism. If you access /artist/1234, you should get links to all of their soundtracks. How can you easily convert a Soundtrack object to a URL? That's the "domain" of the framework...
Seemless EE6 integration
Bill Burke
Re: What about content-negotiation?
Bill Burke
Great stuff Rossen. This post definitely filled in some knowledge gaps that I had with Spring MVC REST.
Spring MVC REST annotations caught up, and may have surpassed the JAX-RS annotations. I'm looking forward to new and exciting features that a single entity like SpringSource can pump out; a JSR committee can't have as quick feature turn around.
I think that's a bit unfair. JAX-RS is a specification not a product. I'm sure JAX-RS implementations like Jersey, RESTEasy, and CXF can innovate just as fast, probably faster, than anything SpringSource comes up with. The difference is of course, that these projects will bring back their innovations to a future JAX-RS revision so that all can share and so that such an important API isn't controlled by one commercial company.
IMO, its just sad that SpringSource has the inherent need to do their own thing for as something as trivial as JAX-RS.
JAX-RS Exception Handling
Greg Beams
public class NoResultExceptionMapper implements ExceptionMapper<NoResultException> {
public Response toResponse(NoResultException e) {
Re: Seemless EE6 integration
Greg Beams
Re: What about content-negotiation?
Bill de hÓra
Right. For example, Jersey provides a Form object, implicit views, and a client.
In general, I think JAX-RS does a better job of conneg, media type, and exception mapping handling than SpringMVC3. It will be interesting to see how SpringMVC3 evolves. And if all you want to do is define a REST interface onto some service code, then Jersey+Guice is light and fast way to do that.
Re: hypermedia media aware resources
Rossen Stoyanchev
I agree the generation of links needs to be encapsulated as much as possible. A good part of that is based on the capabilities of the underlying marshalling technology, like the JAXB XmlAdapter you've pointed out previously. I do think a general purpose chained API for building up URI's would be helpful here.
As for the payment example in Restfulie, there are suggestions like SPR-6261 although my sense is that this is a more natural fit for Grails and Roo both of which combine knowledge of domain objects with a non-intrusive approach to adding the needed behavior.
Re: JAX-RS Exception Handling
Rossen Stoyanchev
Re: What about content-negotiation?
Bill Burke
"I'm sure JAX-RS implementations like Jersey, RESTEasy, and CXF can innovate just as fast, probably faster, than anything SpringSource comes up with."
Right. For example, Jersey provides a Form object, implicit views, and a client.
In general, I think JAX-RS does a better job of conneg, media type, and exception mapping handling than SpringMVC3. It will be interesting to see how SpringMVC3 evolves. And if all you want to do is define a REST interface onto some service code, then Jersey+Guice is light and fast way to do that.
Interesting and Impressive
george naing
Re: What about content-negotiation?
Jon Hill
Spring MVC feature showcase
Keith Donald
Re: Spring MVC feature showcase
krishna srinivasan
Why do you think JAX-RS impl should not be used for building web apps
Srivatsa Katta
Before starting out, it may be helpful to point out that JAX-RS targets the development of web services (as opposed to HTML web applications) while Spring MVC has its roots in web application development.
Hi Rossen,
Could you please eloborate the above statement, JAX-RS targets development of web services as opposed to HTML web applications.
With the features JAX-RS (impl) provides am sure one can build a rich web applications (for that matter isn't it what spring is also doing with the new annotation based controllers).
Am keen to know what are the key aspects that you think are not well supported by any JAX-RS but a typical web framework provides. yes there are few things like interceptors, security based url routing etc. But how hard to build one on top of JAX-RS implementation ??
Re: Why do you think JAX-RS impl should not be used for building web apps
Srivatsa Katta
Quick toughts on both frameworks
Snehal Masne
Pros: Standard API (JAX-RS)
Cons: MVC support is less richer than Spring MVC.
Pros: Many features, many documents, active community.
Cons: Many rules to learn.
Snehal Masne
Love it
Srikanth Reddy
JAX-RS is straight
Srikanth Reddy
prathap gym
Java Web Services Training in Chennai
Content Negotiation
prathap gym
Online Java Training


text:
Verizon Lets the Sun Go Down on Unlimited Data
May 19, 2012 5:00 AM PT
Wireless carriers have begun to realize that when you offer flat-rate, all-you-can-eat deals, it tends to bring out the pig in people. Whether it's food or beer or cellular data, customers will gorge themselves on it, and the buffet arrangement can quickly turn into a money-losing proposition if you don't plan it out just right. That's especially true when your customers have constant access to the resource you have on offer -- like mobile data through those cellphones they carry with them 24/7.
Originally, those unlimited data plans were introduced to attract users to these brand-new things called "smartphones." There weren't very many in circulation, networks weren't especially congested, and an extra US$30 per month on a subscriber's bill meant profit whether they used 1 gigabyte or 10.
Fast-forward a few years, and unlimited data users are carriers' most-hated customers. In fact, a couple of weeks ago, AT&T CEO Randall Stephenson said that his company should have never offered customers all-you-can-eat data plans in the first place. AT&T users, you have wronged this man. Please submit your apologies in writing no later than June 1.
Most carriers no longer offer unlimited plans to new customers, but they do let old customers continuously renew their unlimited plans each time they renew their contracts. Just because you grandfather in your old plan, though, don't expect smooth sailing. Some carriers will just choke down your connection speed once you use a certain amount of data. It's still unlimited, just extremely slow. Joke's on you.
That's why it was actually sort of refreshing in a way to hear what Verizon CFO Fran Shammo said at a JP Morgan conference this week. Instead of whining about unlimited users killing the network or thinking up some new loophole to annoy them into picking a new plan, Shammo said Verizon would soon nix the grandfather clause altogether. Users who want to upgrade to a new LTE smartphone would not be offered the option of importing an old unlimited plan for the new contract. It's also going to promote data-sharing plans that let families and other groups share mobile data.
Some users are going to be angry about it, other carriers will probably follow suit soon, and it's a bummer that the era of unlimited is probably behind us. But as long as current contracts are honored until they expire, nobody's being cheated. Verizon was never selling lifetime passes. It's simply going to offer a new set of conditions on new contracts -- take it or leave it. At least making a clean cut like this beats coming up with some ridiculous campaign of browbeating customers and needling them with technicalities.
However, it seemed Shammo's comments caught Verizon PR a little flat-footed. The company quickly issued a statement telling customers that it was only "evaluating its pricing structure" and that it'll share specific details of new plans well in advance -- just not now.
It did reveal one new tidbit, though: Unlimited plans aren't actually going away forever. Anyone with an unlimited plan can keep it when they get a new phone -- as long as they pay full price for the phone.
Listen to the podcast (13:02 minutes).
Pure Breed
Phone makers often try to come up with ways to get out from under the boot-on-neck relationship they have with wireless carriers. If a phone maker wants to access a carrier's retail channels and the price subsidies it offers buyers, it's going to have to make compromises -- that feature is going to have to go, this feature needs to change, and go ahead and pour in all these network-exclusive features of ours that interfere with the phone's original designs.
Unlocked phones and direct sales don't have to deal with that as much, but they typically have a very difficult time getting traction. Just ask Google. Two years ago, it tried to sell its first Nexus phone in a new way that basically cut carriers out of the loop. Sure, carriers were still needed to provide service, but they had no part in sales. The Nexus One was sold online directly from Google, its price and carrier availability were kind of confusing, and it turned out to be a real flop. The following Nexus phones were sold the old fashioned way, occasionally having a feature lopped off in the process.
Maybe the world just wasn't ready back in 2010. Maybe the plan can work now, with a few key tweaks and adjustments. That seems to be what Google's thinking as it reportedly musters new devices for a second attempt to up-end the carriocracy.
The new plan will also involve direct sales from Google to consumers, according to a report in The Wall Street Journal. And it will involve unlocked phones. But this time it will cover more than just a single Nexus -- it will include Nexus phones from multiple manufacturers. It will also involve Nexus tablets. And certain brick-and-mortar stores might get in on the mix too, so customers will actually be able to pick up and handle a new phone before buying it, if they insist.
Google and its hardware friends apparently plan to make Nexus phones their way, offer the features they want, and sell to buyers without indenturing them to two-year contracts. Its Nexus line could become the Android industry standard -- a pure family of Android products, as opposed to the bastards and mongrels tainted by carrier interference. Google would probably continue to allow carriers to offer mutated versions of Android all they want, but Nexus would remain on a pedestal. If it's managed well, the Nexus line could be Google's solution to fragmentation and an answer to the iPhone's squeaky-clean image.
If there's a hitch, it's got to be cost. The freedom of an unlocked phone comes with a price, and that price usually rings up to several hundred dollars. If there's no wireless provider to offer a subsidy, Nexus phones could end up being two to three times more expensive than carrier-approved phones, and Google could be in for a little deja vu.
Search Like a Person
Using search engines like Google sometimes requires you to change the way you think and communicate. When you talk with other people, you usually don't have to be 100 percent literal and explicit. It depends on who you're speaking with, but normally there's at least a tacit understanding and "you-know-what-I-mean" that goes on. Otherwise you'd sound like a robot.
Not so when you hit a search engine. You need to tell it exactly what you're looking for as explicitly as possible. It might help to use "+" signs and order your words in a certain way. You have to remember you're speaking to an algorithm that sorts words but doesn't understand them, and the top results it gives you will be the best mathematical match to the combination of alphanumeric characters you typed in, regardless of what those words and numbers really mean.
Google's trying to loosen that up by adjusting the math. It's added what it calls its "Knowledge Graph." It's compiled from data on half a billion people, places, things and historical events. Relationships are graphed out in a way intended to get down to what the searcher is really looking for, not just match a handful of characters and call it day. "Things, not strings" is how Google puts it.
For example, if you're searching for Frank Lloyd Wright, you're probably trying to find out about architecture, not whatever books he's written. A search for Isaac Asimov suggests an interest in sci-fi, rather than reforming the calendar or writing limericks.
The Knowledge Graph is a step in the direction of true semantic search, a way of searching the Web by understanding user intent and the contextual meaning of terms. As search becomes more semantic, it'll more closely resemble asking an actual person for help finding what you need -- except that person will happen to know just about every page on the Web.
What, Me Dominant?
As if Microsoft's extended absence from the tablet market hasn't been painful enough for the company, its entry into the market could put it on the wrong side of antitrust regulations.
So far, the tablet scene has been all about iPad, with a side dish of Android, and maybe a light dusting of PlayBook. Technically you can get something called a "tablet" that runs Windows, but it's not an OS built for the form factor, and the market share for those devices is virtually nil.
Microsoft hopes to change that with the arrival of Windows 8. Its upcoming OS lineup will include a version called "Windows 8 RT," which is designed specifically for devices using ARM chips -- in other words, mobile devices like tablets.
Windows 8 RT will still be Windows, but it'll be a very different breed. One difference that came to light recently has to do with browser choice: In Windows RT, you can only use Microsoft's own Internet Explorer. Microsoft isn't distributing APIs to other browser makers, according to Mozilla, the company that makes the Firefox Web browser. Google, maker of the Chrome browser, also registered its concern.
Microsoft's reluctance to share its application programming interfaces could run afoul of antitrust regulators. The company took an epic pounding from the DoJ about 15 years ago for abusing its market dominance and leveraging it to push Internet Explorer and hem out competitors. Similar complaints were more recently settled in Europe. It's left Microsoft and all its rivals very sensitive about how IE is handled. On the surface, hording APIs for an edition of Windows might seem like a clear violation of the rules Microsoft agreed to.
But that depends on what your definition of "market dominance" is. Microsoft's still an enormous player in software in general, and Windows is still the most widely used desktop OS in the world. But in tablets, Microsoft is practically nothing, and that won't change the moment Windows 8 rolls out the door. It faces a hard, long climb in that sector, and for now, an accusation of abusing market dominance is laughable, if you're talking about tablet dominance specifically. If in a few years Windows tablets gain a serious foothold and still ban rival browsers, that's going to be a different story.
So it remains to be seen just how much heat Microsoft will take for this. The U.S. Judiciary Committee is giving the issue a look, but actually making a case against Redmond over this could prove difficult in the U.S. Europe, though, can be a lot more sensitive to this sort of activity.
Taking a Mulligan
Yahoo has squeezed out another CEO -- the second one in less than a year. No word on whether Scott Thompson was fired via a phone call like his predecessor Carol Bartz, but the Web company once again has been left in the hands of an interim CEO. Last time it was CFO Tim Morse; this time global media leader Ross Levinsohn gets to handle the wheel until a new chief is found.
Thompson's departure came a little over a week after it was revealed that his resume listed a college degree in computer science that he had never earned, and that it had been listed there for quite a while -- long before Thompson ever started working at Yahoo. When it was revealed, Thompson insisted it was unintentional, but he didn't have very much support from anyone inside or outside the company. His decision to hit Facebook with a patent suit cost him points with Silicon Valley in general, and Yahoo's massive layoffs under his watch didn't make him much of a hero among the company rank and file either.
He also faced a very determined activist investor leading the charge against him: Daniel Loeb of hedge fund Third Point.
The question "what next?" doesn't just apply to Yahoo's search for a new leader. The company also needs something to do. It's still the fourth-largest Web company in the world, but it doesn't seem to have any special purpose. A little weather, a little sports, a little photo sharing, some email, but what's it's real unique talent? It lost search to Google, and it never latched onto social networking the way Facebook did. Cutting jobs and suing other companies was the extent of Thompson's plan -- as much as he had time to demonstrate, anyway. But what job can Yahoo do better than anyone else? Where can it be king?
Now Loeb finally has his way -- the CEO's out, several board members are gone, the rest of them were made to look like fools, and he and a couple of his allies have been given seats at the table. Best of luck turning what's left of Yahoo around, but it does make me wonder what brilliant master plan Loeb has in mind that made him fight so hard to get where he is. Now that he's in the control room, what's he going to do to revive Yahoo that hasn't already been done before?


text:
Single Cup
A one-of-a-kind option that brews one-at-a-time deliciousness.Shop Single Cup
From black-and-robust to extra cream-and-sugar, from 1 cup to 10, home coffeemakers by BUNN® are built like our respected commercial brewers - with your enjoyment in mind. Which BUNN brewer is best for you? It all depends on how you prefer to brew:
When one (or two or three) cups of coffee just won't do.
When you want coffee NOW.
Quick brew technology and contemporary, curved designShop Multi Cup
The ultimate expression of our brewing knowledge gives you barista-control over flavor and quality in the cup.Shop Advanced Technology


text:
Solaris Device Driver:
Device Type:
LSI Logic (formerly Symbios Logic or NCR) 53C810, 53C810A, 53C815, 53C820, 53C825, 53C825A, 53C860, 53C875, 53C875J, 53C876, 53C895
Bus Type:
Because the NCR BIOS and the Solaris fdisk program may be incompatible, use the DOS version of FDISK (or equivalent utility) to create an entry in the FDISK partition table before installing the Solaris software. Create at least a 1-cylinder DOS partition starting at cylinder 0. If the DOS partition isn't created, the system won't reboot after Solaris installation.
An add-in card with the 53C815, 53C820, 53C825, or 53C825A controller can only be used in a bus-mastering PCI slot. On motherboards with only two PCI slots, both of the PCI slots are usually bus-master capable. On motherboards with three or more PCI slots, and on motherboards with several embedded PCI controllers, some of the PCI slots may not be bus-master capable.
Some PCI motherboards with the LSI Logic SDMS BIOS and an embedded 53C810 or 53C810A controller do not work correctly with the 53C82x family of add-in cards that also have an LSI Logic SDMS BIOS. Upgrading the motherboard BIOS, the add-in card, or both may prevent these conflicts.
On some early PCI systems with the 53C810 chip on the motherboard, the interrupt pin on the chip is not connected. Such a system cannot be used with Solaris software.
Do not attempt to connect wide targets to the narrow connector of the cards listed as supporting narrow disks. These configurations are not supported.
If your adapter supports the LSI Logic SCSI Configuration utility, which can be accessed by pressing Control-C, do not change the value of the Host SCSI ID (an option under the Adapter Setup menu) to anything but 7.
If you experience problems with old target devices, add the following entry to the /kernel/drv/ncrs.conf file:
targetN-scsi-options = 0x0;
where N is the ID of the failing target.
If you are using a Conner 10805 narrow SCSI drive, you might see warnings like:
WARNING: /pci@0,0/pci1000,f@d(ncrs0): invalid reselection(0,0) WARNING: /pci@0,0/pci1000,f@d/sd@0,0(sd0): SCSI transport failed: 'reset: retrying command'
You can suppress these warnings by disabling tagged queuing in the ncrs.conf file. See the ncrs(7D) man page.
On some Pentium motherboards (Intel NX chipset) using P90 or slower processors, ncrs hangs and this message is displayed on the console:
WARNING: /pci@0,0/pci1000,3@6(ncrs0) Unexpected DMA state:active dstat=c0<DMA-FIFO-empty, master-data-parity-error>
This is an unrecoverable state; the system will not install using the ncrs driver.
The ncrs driver supports Revision 4 and above of the 53C875 chipset. Previous revisions were pre-release versions of the chip, so there might still be a few in circulation.
In rare circumstances, when using an SDT7000/SDT9000 tape drive, you see this message on the console:
Unexpected DMA state: ACTIVE. dstat=81<DMA-FIFO-empty,illegal-instruction>
In these instances, the system recovers and the tape drive remains usable. You can still use the tar command to add or extract files to or from the tape in the drive.


text:
$331.99 (check price)
Today We offer at special prices. If you would like to buy. Please check the product information and compare prices before deciding to buy.
If you are looking for in special offers. we have special offer for you to buy at the cheapest price. Please check the price from this page. If you need to buy today but you are worried about the price tomorrow will be reduced. We recommend that you should check number in stock and think, If you would like to own and you can buy now What are you waiting?
Bought it as a Christmas treat for myself. The metal bar stool arrived as picture and is perfect! It matches everything. I bought an extra for a friend's birthday gift, and I will be buying two more as gifts. Love love love!
I needed a simple metal bar stool, and found this at the top of the search. I can see why it's so popular. The metal bar stool is PERFECT. Yes I'm shouting but this is a great metal bar stool. If I ever need another color, I'll happily purchase. It also fit true to size. I purchased my usual as well as one size up, and the usual fit perfectly.
Love this metal bar stool! The is nice looking. This looks much more expensive than it is. I got this as a gift for my girlfriend and she absolutely loves it and I'm very happy to see her happy. highly recommend!
tired of shopping blindfoldedly , spend few minutes and watch this video


text:
Land of the Free, Home of Slow Internet
Can the FCC fix America's crummy broadband network?
Also in Slate, Chris Wilson questioned the wisdom of bringing high-speed Internet access to rural America.
The FCC's new National Broadband Plan is huge. That's true physically—at 360 pages, you'll need a fast Internet connection just to get the PDF —and as a matter of scope. The plan, released last week, sketches out a decade's worth of improvements to the nation's infrastructure that will transform how we get our news, entertainment, and phone service, and will improve pretty much every technology you own.
As Julius Genachowski, the chairman of the Federal Communications Commission, sees it, wiring the nation for superfast Internet connections will be as significant as setting up the national electricity grid 100 years ago. That's because the Internet, like electricity, is a foundational technology—it sits beneath a wide range of innovations, some that we can envision today and many we can't. "All text, all audio, all video is going to go over IP networks—why shouldn't it?" Genachowski told me in an interview. "Getting a universal electric grid rolled out all over the country led to a century's worth of new appliances. What we're starting to see now is a new generation of innovation, and instead of appliances it will be applications," Genachowski said. If we can just fix American broadband, he added, "the U.S. can lead in the creation and manufacturing of those applications."
But can we fix broadband? I've explained the shortcomings of America's Internet infrastructure many times—compared with our economic rivals, our Internet lines are generally slower, more expensive, and cover less of the country. The broadband plan's central goal is to make the United States the world's best-connected nation. It does not call for a significant taxpayer-funded investment in these new networks; instead, it outlines a series of rules and incentives to push the telecom industry to improve American broadband. By 2020, if this all comes to pass, 100 million households will have access to an "affordable" Internet connection with download speeds of at least 100 megabits per second (the average connection speed in the United States today is around 4 megabits per second). The plan also calls for schools, hospitals, and other community institutions to have broadband lines of 1 gigabit per second, and for the country to have the world's "fastest and most extensive" wireless Internet service, too.
These are huge goals, and I'd love for all of them to come true. Yet I am a bit skeptical that they're achievable, for a few reasons. First, there's the standard disclaimer that applies to all efforts to remake national infrastructure: Politics will get in the way. At this point, the broadband plan is simply a draft; Congress has to pass legislation for many of the plan's recommendations to take effect, and lobbyists from the cable, phone, and entertainment industries are sure to play a big role in that process.
Everyone who studies communications policy understands that there is one main way to improve the speed and reduce the price of Internet lines: Foster more competition between broadband companies. Today most Americans can choose between just two Internet providers—your phone company or your cable company. This is a recipe for stasis. Because we're pretty much trapped, neither provider has much incentive to create faster, cheaper lines. Can the FCC really do anything to improve that picture?
When I asked Genachowski about competition in broadband, he described a few major policies outlined in the plan. First, the FCC wants to educate people about the inadequacy of their current broadband lines. The agency has found that most Internet plans don't live up to the upload and download speeds they claim to deliver. Under the plan, the FCC would set up a regime to monitor the actual speeds of Internet lines; then it will show us a kind of broadband nutrition label when we go to select a new plan. The label would tell you how fast a line you're actually getting and would also explain what you could do on that plan. "It might say something like, For a YouTube video to work in small box without buffering, you'll need this speed, but for full-screen high definition video, you'll need this speed," Genachowski explained. These consumer labels, the FCC says, will have the same impact on broadband that miles-per-gallon disclosures had on the car industry—they allowed customers to seek out more efficient cars and in turn pushed car companies to emphasize efficiency.
The FCC also wants to open up more wireless space for the Internet. A lot of the country's radio spectrum is now in the hands of TV broadcasters. That doesn't make much sense—it's obvious that our economy will increasingly depend more on multipurpose, mobile devices like the iPad than on single-purpose devices like televisions. Better wireless Internet could also conceivably serve as an incentive for wired Internet providers to create better plans—after all, why would you subscribe to a home broadband plan if you've got really great mobile broadband service? Broadcasters have indicated, though, that they'll oppose the FCC's efforts—and if there's one industry that knows how to whip up outrage, it's the TV business. Just wait till Glenn Beck and Keith Olbermann join forces to oppose the government's evil plan to take away Grandma's TV.
The tough road that the FCC faces in freeing up spectrum might explain why the agency doesn't mention some even more far-reaching efforts to bring competition to the broadband market. For instance, observers have long argued that the best way to create faster, cheaper Internet service is to impose "open access" rules on Internet providers. These rules would force companies that build lines to your home to sell access on those lines to competitors—so that many companies will be able to bring service to your home. As Yochai Benkler, the co-director of Harvard's Berkman Center for Internet and Society, points out in the New York Times, many of the countries that have better service than the United States mandate such rules. "These countries realize that innovation happens in electronics and services—not in laying cable," Benkler writes.
But open access doesn't seem to be on the horizon for the FCC—at least not yet. Instead, the National Broadband Plan outlines a series of smaller-bore initiatives to reduce the cost of laying new fiber-optic lines. Genachowski says that these will prove consequential. "There is no silver bullet to any of the challenges," he said. "Even though it's not that exciting to focus on some of the blood and guts of infrastructure, these end up becoming very important."
Another obstacle standing in the way of a landmark broadband makeover is the American consumer. Today about 65 percent of people in the United States who have access to broadband actually sign up for plans. If 35 percent of Americans don't want even 4 megabit lines, then why should companies spend a fortune building out 100 megabit lines? This question is particularly important in a time of stretched resources. America's communications infrastructure isn't so great, but neither are our highways, our schools, our health care, and dozens of other things. Our broadband needs will inevitably be weighed against these other resources—and some people are sure to wonder whether, given all our other obligations, the Internet is really worth the government's time, money and effort.
But that gets back to why I'm so excited about Genachowski's plan. Even if we don't get 100 megabit access for all, it's still amazing that we've got a federal official fighting for such a broad goal. Though we've known for at least 10 years that the Internet will be the major driving force in our economy, Genachowski is the first FCC chairman to make broadband the agency's top priority. That in itself is cause for optimism. "This is the FCC's agenda for the foreseeable future," Genachowski told me. "We want the innovations to happen here, we want the job creation to happen here, and we want to export these applications around the world. That's going to be an essential strategy for our economic success in the 21st century."
Become a fan of Slate and Farhad Manjoo on Facebook. Follow us on Twitter.


text:
If you've wondered about alternate routes up to Skyline from Woodside, I'll fill in some details on the Skywood Way option for the last mile up to Sky Londa. Video of the route below. Heavily "stabilized" by YouTube to avoid the seasick feeling you'd get from watching me wobble from side-to-side on the way up. This is a much-tougher grade than Old LaHonda, not quite as difficult as the nastiest part of Page Mill (between Gates 3 & 4 I think?).
Generally you'd access Skywood Way from the "bottom" while climbing up 84 from Woodside towards Sky Londa. Look for the road on the right, pretty much the only road on the right. Make the first left and just follow the non-dead-end options (or, simply choose the steepest option, which is almost always the correct route on any ride!). –Mike–


text:
SAN JOSE, Calif. – January 23, 2012 – North America-based manufacturers of semiconductor equipment posted $1.16 billion in orders in December 2011 (three-month average basis) and a book-to-bill ratio of 0.88, according to the December Book-to-Bill Report published today by SEMI. A book-to-bill of 0.88 means that $88 worth of orders were received for every $100 of product billed for the month.
The three-month average of worldwide bookings in December 2011 was $1.16 billion. The bookings figure is 18.5 percent more than the final November 2011 level of $977.2 million, and is 26.7 percent below the $1.58 billion in orders posted in December 2010.
The three-month average of worldwide billings in December 2011 was $1.32 billion. The billings figure is 11.8 percent more than the final November 2011 level of $1.18 billion, and is 25.2 percent less than the December 2010 billings level of $1.76 billion.
"The December data reflects a further increase in bookings for semiconductor equipment," said Dan Tracy, senior director of Industry Research and Statistics at SEMI. "Recent capital spending announcements by leading device manufacturers indicate the potential for continued improvement in 2012."
The SEMI book-to-bill is a ratio of three-month moving averages of worldwide bookings and billings for North American-based semiconductor equipment manufacturers. Billings and bookings figures are in millions of U.S. dollars.
(3-mo. avg)
(3-mo. avg)
|Book-to- Bill
July 2011
Aug 2011
Sept 2011
Oct 2011
Nov 2011 (final)
Dec 2011 (prelim)
Source: SEMI January 2012
The data contained in this release were compiled by David Powell, Inc., an independent financial services firm, without audit, from data submitted directly by the participants. SEMI and David Powell, Inc. assume no responsibility for the accuracy of the underlying data.
The data are contained in a monthly Book-to-Bill Report published by SEMI. The report tracks billings and bookings worldwide of North American-headquartered manufacturers of equipment used to manufacture semiconductor devices, not billings and bookings of the chips themselves. The Book-to-Bill report is one of three reports included with the Equipment Market Data Subscription (EMDS).
SEMI is the global industry association serving the nano- and micro-electronic manufacturing supply chains. SEMI member companies are the engine of the future, enabling smarter, faster and more economical products that improve our lives. Since 1970, SEMI has been committed to helping members grow more profitably, create new markets and meet common industry challenges. SEMI maintains offices in Beijing, Bengaluru, Berlin, Brussels, Grenoble, Hsinchu, Moscow, San Jose, Seoul, Shanghai, Singapore, Tokyo, and Washington, D.C. For more information, visit www.semi.org.
Association Contacts
Dan Tracy/SEMI
Tel: 1.408.943.7987
Email: email@example.com
Deborah Geiger/SEMI
Tel: 1.408.943.7988
Email: email@example.com
Editor's Note:
Next SEMI Book-to-Bill: February 23, 2012, at 3:00pm PST
For information on SEAJ Book-to-Bill Report, visit www.seaj.or.jp
# # #


text:
WINNIPEG — Finding Jacob Micflikier, other than in the deep slot attempting to deflect a blue-line drive or pouncing on a rebound near the crease, took a little detective work this season.
Last year, the 27-year-old forward spent time with the Charlotte Checkers of the American Hockey League (AHL) after stints with the Springfield Falcons, Rochester Americans and Albany River Rats.
It turned out that during the summer, the Jewish Winnipeg-born skater was signed to a one-year, two-way deal with the NHL Washington Capitals and is currently skating with their number 1 farm team, the Hershey Bears, who have captured the Calder Cup in three of the past six seasons.
According to Micflikier's mother, Riva, Jacob left the North Carolina team after a breakout season last year in which he scored 29 goals and had 32 assists.
As far as hockey matters are concerned, things are indeed looking up for the 5-foot-8, 180-pound skater who, like so many others of his ilk, wants to continue living the dream.
"His goal has always been to get to the NHL, and when the opportunity presented itself this summer with a two-way contract with the Washington Capitals, he took it. It's the first one he has ever had," Riva said.
"At least they recognized his ability and what he brings. They were willing to give him a vote of confidence by offering the two-way deal," Riva said. If he sticks with the Caps, he would get an NHL salary. He receives a lesser amount for playing in the AHL with the Bears.
"The scenario is that he did well at camp and he's now in the mix to be available for call-up," Riva said. "Jacob thinks he'll still get a shot. The Carolina Hurricanes [Charlotte's parent club] would have re-signed him, but only to a one-way and he wasn't interested.
"He got to play in his first NHL game. It was a pre-season one against the Blue Jackets and I was there," she said. "He and I drove the 28 to 30 hours by car to Arlington, Va., where Washington's training facility is.
"It gave Jacob an extra driver, and he knew I wanted to do the tourist thing. The day that I was going to leave, he was told that he was going to play in Columbus, so I just changed my going-home plans.
"I left him with the car and all of his belongings and flew home. That's what hockey players do. They're nomads. They take all their stuff and they go and stay in a hotel until they get the magic letter that tells them where they can go to find themselves accommodations," Riva stated.
I asked Riva whether, following his four-year stint at the University of New Hampshire, where he notched 58 goals and added 92 assists in 154 NCAA games, if Micflikier was upset when he wasn't selected by a NHL organization in his draft year.
"Any player would be disappointed if he isn't drafted. There is a certain difference in perception when you don't get drafted. If you're not, you carry that [label] and have to fight your way every time," explained the hockey-wise mom.
Beginning in 2001-02, Micflikier played two seasons in the United States Hockey League with the Sioux Falls Stampede, followed by four outstanding years at the University of New Hampshire with the Wildcats. He then took his skills to the East Coast Hockey League (ECHL) with Stockton Thunder and the Florida Everblades, before moving over to the AHL.
Riva was also very knowledgeable in terms of her son's style of game, which had obviously been noticed by the powers that be in Washington.
"Last year, Jacob found a home in front of the net, and he was very strong there, and it didn't matter if he wasn't one of the taller players," she said. "He exercised… his right to be there. They call it the 'greasy' or 'dirty area' and a lot of his goals came by deflections. You always have to be ready to come to camp. He's solid and very strong for his size. He works out even in the off-season."
Last season Micflikier's Checkers ousted Hershey in the first round of the playoffs. His Hershey coach, Mark French, has so far been very impressed with what he has seen of the feisty Micflikier. He likes that the left-handed shooter is versatile and can play either wing or centre, kill penalties and work on the power play.
How well is the former MVP and assistant captain at New Hampshire doing this early in the season playing with Hershey? Sweet, you might say. After 17 games, he has eight goals and 12 assists, good for eighth in league scoring.


text:
General Comments: Futures closed lower and made new lows for the move on reports of big production in April from Brazil. Traders remain bearish on supplies, especially from Brazil, and this has hurt New York prices. They got some big production and processing estimates for April on Monday. Traders are keeping an eye on developments in Brazil and expect big production as the harvest moves forward as the weather is good. Demand is said to be strong from North Africa and the Middle East as buyers get stocks in hand for Ramadan in July. Chart patterns are mixed, but weak, for the short term. UNICA said that Brazil crushed 41 million tons of Sugarcane and produced 1.69 million tons of Sugar. Both amounts are almost triple those of a year ago.
Overnight News: Mostly dry conditions are expected in Brazil. Temperatures should average near to above normal.
Chart Trends: Trends in New York are down with objectives of 1670, 1610, and 1600 July July. Support is at 1680, 1650, and 1620 July, and resistance is at 1720, 1740, and 1755 July. Trends in London are down with no objectives. Support is at 476.00, 473.00, and 470.00 August, and resistance is at 487.00, 491.00, and 496.00 August.
General Comments: Futures were higher after trading lower early in the session. Traders concentrated on economic news, which was disappointing for China but good for the US. China is the largest importer of US Cotton, so less than expected industrial production put demand bulls on the defensive. The new crop months were weaker on forecasts for warm and dry weather in many US production areas that will promote active planting by farmers this week. Ideas are that the demand can continue for now as China moves to increase its stocks and as private buyers there reject offers from the government due to quality and price. Planting conditions for the next crop remain a problem in the US. Dry weather is forecast for the Delta and Southeast, and much warmer weather is expected in Texas this week. So far, planting of all crops is slow, but ideas are that farmers can get a lot of planting done with dry and warm conditions. Short term trends are mixed.
Overnight News: The Delta and Southeast will see dry conditions. Temperatures will average near to above normal. Texas will get mostly dry weather with some showers possible in Eastern areas. Temperatures will average mostly above normal. The USDA spot price is now 81.87 ct/lb. ICE said that certified Cotton stocks are now 0.508 million bales, from 0.504 million yesterday.
Chart Trends: Trends in Cotton are mixed. Support is at 85.40, 85.00, and 83.00 July, with resistance of 87.60, 88.50, and 90.00 July.
Next page: Orange Juice, Coffee and Cocoa


text:
Hitman shows class and loyalty to the franchise
Today I have read many articles from all over the internet complaining and moaning about the Hitman Absolution Attack of the Saints trailer that was released yesterday afternoon. Sigh!!!
"and credit should be given to Square Enix" rofl, no, it really shouldnt, there the idiots that are probably responsible for screwing up Hitman
Dropping the MAIN voice actor who has been in ALL the games was a mistake, same as Jesper Kyd, i understand the dudes probably busy doing Assassins Creed but hes more famous for the doing Hitman, im sure he would of worked around it some how, the music is AWESOME it Hitman, its one of the main things i like about the series
I shall rent it, theres supposed to be aanother Hitman in the works, im sure thats what i read
I don't think those haters are really fans of the series. IO has always been a very unpredictable company. I've seen some of this stuff in the past games, so I really don't understand why it took these guys this long to 'react.'
Remember how Max Payne 3 "was" getting all the hate, but Rockstar still carried along.
I havent really played Hitman much but I can see where people are coming from...I just think that if it happened to me and my favorite franchise I would act the same
They do seem to be taking Hitman in a differen't direction...I don't think it's really fair on the loyal fans of this franchise.
It just seems everytime an old classic franchise gets a sequel this gen it's more then likely that the sequel dosen't really stay true to the franchises past games.
For example
Splinter Cell Conviction
Max Payne 3
Hitman Absolution
Resident Evil 5
Final Fantasy 13
Some are still great games but they don't stay true to their roots which just seems pointless when you aready have an established audience for the game
I never played these games... sounds like another franchise that didn't age well...
Everything that was in that trailer was very Hitman-ish. The series is filled with stuff like that. Hookers, drugs, strip clubs, you name it. I thought it was a brilliant trailer.


text:
A decade ago, most archivists thought about electronic records issues much the way that librarians do today – as a problem of documenting and preserving data files in specialized repositories. Since then, networked computing has transformed the mechanisms of business communications. Archivists have increasingly adopted the view that fundamental issues regarding records capture and retention, whether in paper or electronic form, are their identification, classification by provenance and retention in context of use so that they can be understood. Only when these challenges have been successfully met will questions of how or where to keep records or how to provide access to them arise. Thus the "archives" as files in need of retention and the "archives" as repository are issues only after what are currently the most difficult challenges of day-to-day recordkeeping have been satisfied.
Librarians and the preservation community still focus their attention on electronic objects prepared and published as coherent entities to reside in repositories. Thus they generally ignore the very real problem of acquiring coherent records from disparate business information systems not designed to keep records and rife with undocumented software and hardware dependencies. Nor do they usually deal with objects whose content is frequently splattered with proprietary, personal, private and legally troublesome non-public data. So when archivists go to meetings of librarians and preservationists focused on keeping electronic "archives" they generally find the discussion overlooks the front end of the issue, where records "happen." Librarians and preservationists, meanwhile, find it hard to understand how archivists can seemingly shrug off the back-end, long-term retention issues as not terribly interesting and dependent on technology developments very much out of the hands of either community.
In May 1997, a working meeting of international researchers and practitioners of the archival approach to electronic recordkeeping was organized in Pittsburgh by Archives & Museum Informatics. This meeting focused primarily on the issues at the "front end," before records can be brought together to become the problem of any repository. The following summary, however, is directed to the larger community. Issues of electronic record creation and capture are shared by all those who have become dependent upon technological systems to support their business processes.
The meeting confirmed the degree to which common ground has been reached in the past several years. However, much research has focused on particular portions of the problem: many solutions which appear independent are actually interdependent. Tensions are emerging between practitioners who want to "just get on with it," and researchers who seem to be "peeling an onion." These tensions reveal a critical juncture in the development of solutions for electronic records management. After a long period of developing models, agreeing on terminology and defining problems, we seem ready to begin serious testing of proposed solutions. Much research remains, though. The following themes were explored in presentations and breakout group discussions:
Research into the definition of records has been focused on two major groups of researchers at the University of Pittsburgh and the University of British Columbia. Both were asked to summarize their findings about what makes a record a record. Presentations by Luciana Duranti, Maria Guercio, Richard Cox and Wendy Duff focused on the source of authority for, and universality of, records metadata requirements. Driven by pragmatism, the University of Pittsburgh team looked for "warrant" in the sources considered authoritative by the practitioners of ancillary professions on whom archivists rely – lawyers, auditors, IT personnel, etc. (See Duff, Wendy M., "Compiling Warrant in Support of Functional Requirements," Bulletin of the American Society for Information Science, June/July 1997, pp. 12-13.) In the European tradition, the UBC team examined the authority of diplomatics, a discipline grounded in the juridical systems of early modern Europe. To many, their differences on sources of authority (a more philosophical issue about the nature of truth) were overshadowed by their apparent agreement on basic characteristics and most concrete metadata requirements of electronic records.
Subsequent discussions demonstrated that neither definition is adequate for those responsible for managing electronic records or provides necessary algorithmic specificity for systems to recognize records when they are created by business events. The definitions put forward need to be synthesized, and the common core elements of an electronic record must be identified in a high-level definition useful across systems and communities. Variable sets of metadata drawn from the warrant of different juridical, business, organizational and procedural contexts could supplement this core. In combination with an architecture to express content, context and structure, a shared definition would provide a model that maps the differing concepts and languages of the research projects. This common semantic would enable collaboration across the discipline and would provide a means of communication with record creators, users and researchers in other disciplines.
A tension was inherent in the discussion of definitions of electronic records. While a more generalized framework was seen as necessary to bridge the philosophical differences of the researchers, it would not serve the needs of those who are building systems. There, concrete expressions of both the semantics and the syntax of electronic records and their associated metadata are required urgently. The utility of the definition is the basic issue.
The presenters agreed that broad frameworks directing people and organizations to keep electronic records need to be accompanied by specific performance standards, monitoring/reporting mechanisms, rewards and penalties. The presentations reinforced the view that records result from business processes and are the responsibility of process managers. Policy is a strategic, and not fundamentally a technological, issue. But as yet we know little about the acceptance or adherence to policies, the costs of implementing (or even developing) them or the appropriate level of granularity in implementation.
Discussion focused on the feasibility of implementing electronic records management policies. If much of the responsibility for the creation and retention of records is shifted to the desktop of individuals, how do we maintain the quality of records? What are viable strategies in terms of hardware and software implementation? Can we develop a generic set of specifications? What role can professional "best practices" play, and how do we train people to meet these new requirements?
Changes in policy require changes in accountability structures as well. Can policies be enforced? Which mechanisms work? How can project managers, whose output is measured in other business terms, be held accountable for records management? Some organizations respond more readily to policy changes than others. What kinds of organizations respond best to policy? Which to design? Which to implementation? Which to standards? What strategies are available as alternatives in less formal working environments? Are there identifiable and measurable differences between industries and between the public and private sectors?
Groups presenting in this session included Artificial Intelligence Atlanta, a team engaged in research with the Department of Defense, and ASTRA (a Swedish pharmaceutical firm) and the Swedish National Archives, jointly involved in research to develop methods for electronic recordkeeping in the pharmaceutical industry (an industry well represented at this meeting because they are both heavily regulated and have huge long-term liabilities that can be defended only with their now largely electronic, scientific records). Both teams are attempting to find methods to identify a record-creating event, or a business transaction, that requires a record to be created. How can a system recognize a "trigger" event? The ASTRA team used STEP (4) to model the business process and identify such events (which they have termed causa), while the DoD team tried to develop a set-based logic to identify events and provide "automated decision support for classification" to a human records classifier. Both acknowledged that models of types of actions don't necessarily conform to actions as conducted; matching the process model to real events has proven difficult. Unfortunately, the archival rules to which the business model would relate, if it were a success, are also not as formal as they need to be. Expressions in set theory proposed by AIA look highly algorithmic, but in fact are too vague in operation.
Research questions focus on distinguishing creator vs. organizational requirements. A tension was recognized between the creation of functional and efficient business systems and the implementation of full electronic records capture functionality. For those in the group who felt that one of the primary characteristics of an electronic record was that it was "set aside," classification became a key moment in the process (5). Much work has focused on how to classify documents consistently. Work-flow systems that position the creation of a record within a function and link that function to a pre-defined classification were seen as promising. Another tack would be to identify functions assigned to personnel classifying a record in order to narrow the possibilities available to them and improve accuracy. Both of these approaches suggest the creation of a structured electronic workspace where work is done within functional areas as an aid in the record capture process. Such a space enables system implementation methodologies that can test for rigorous adherence.
A reliance upon an understanding of the business processes carried out by organizations raised questions regarding modeling of workflow itself. What data is required about the function being performed and how is its location in workflow related to a captured record? Clear models for functional requirements specification are needed. But what is the role of the archivist within an interdisciplinary team that is creating new systems to support electronic work? Communicating recordkeeping requirements to systems designers and implementors is a major challenge that would be aided by a consistent and unambiguous model of events and activities. The model should establish a synthesis between the various models proposed and the business processes and functions identified.
McDonald reported on a vision developed at the National Archives of Canada where recordkeeping is transparent, incorporated into an overall IT strategy and integrated into tools and technology. But what does "transparent" mean, and what does this world look like? How do we articulate the relationships between programs, work processes and activities within organization? What is required in order to specify built-in capture and retention rules (to enable automated disposition)? How can systems be designed that support the relatively unstructured environment in the modern office, where work processes are complex, ad hoc and dynamic? Can recordkeeping be made invisible? Or should those responsible for record creation be made aware of their actions?
Even if systems could be designed and implemented to automate the capture of electronic records, research is still needed into the required metadata. How do we model recordkeeping systems that enable records and their metadata to remain meaningful over time? How can we ensure the integrity of a record through time? Will metadata have to be "registered"? What metadata is required to support future re-use? How does metadata required for electronic records map to that for other functions – information discovery for example?
If an encapsulated object approach is taken, what are the characteristics of a good envelope? Are there existing technologies or standards that can be adapted or implemented? Are there standard syntaxes that are "good enough" for some situations? Can we assign value metrics around the capture, management, retention and migration of electronic records? What are the costs vs. the benefits of various strategies?
Test-bed projects are needed to benchmark and cost various approaches to the capture and retention of electronic records and their associated metadata. The semantics and syntax of a generic attribute set need to be designed and tested against the functionality required. The effectiveness of metadata in reducing software dependencies must be evaluated and tested in a variety of circumstances.
Researchers in this session included Margaret Hedstrom of the University of Michigan, Anne Marie Makerenko from Babson College Archives, and Alan Murdock, representing a team from Pfizer Ltd., a British pharmaceutical company. Their practical research questions focused on the costs and mechanics of maintaining electronic archives. How can we model event-driven records retention scheduling? What are migration cost elements? What risks arise from what loss under what circumstances? And can models be developed and/or partners be found in highly regulated industries where long-term retention of electronic records is a legislated mandate?
It is evident to the researchers that much remains to be determined before scaleable solutions are available. Though practitioners keep asking for "core" definitions and implementable procedures, it is not yet clear that "cores" are workable. The last mile is proving hard to travel because frameworks aren't good at the detailed semantics, because functional requirements are far from specifications and because the real costs of migrations depend on so many local variables. Concrete implementations are necessary to build our understanding of these factors, but comparative analysis and detailed reporting on choices made and the rationales for them will be critical to building shared strategies.
As Margaret Hedstrom observed, we need to improve our knowledge of alternatives to exact replication. What strategies are appropriate to different types of records and different preservation goals? How much functionality must be maintained in an archival electronic record? What is acceptable information loss? Could we consider the preservation of surrogates? Can we reconstruct context and structure? We need criteria for the creation and evaluation of surrogates as preservation tools.
Again, implementation became a major theme. How can we devise migration programs without a detailed understanding of the costs and benefits of particular approaches to migration? How do we assess the risks involved in information loss? We are unable to ensure that particular methods will work in all situations; how do we support local decision-making to enable the best conclusions for a particular situation? What are the project management and quality assurance techniques that will be most effective throughout the process?
Besides the need to maintain more explicit contextual metadata, it remains unclear whether or how the requirements for long-term preservation of records are fundamentally different from the requirements for the preservation of other types of digital information. If they are, then how are they different? Where can we collaborate with the broader community, and where must specific archival solutions be developed?
For the near term, the most promising areas for research seem to require greater specificity and granularity in their focus. In the definition of records, we need concrete risks associated with different definitions in different circumstances and an executable specification of recordness. In policy, we need to define the concrete costs and benefits of specific policies and their implementation through organizational, national and international mechanisms. To understand record creation, we need testable models of the kinds of records created by different business processes. In the arena of capturing records, we need tests of registry mechanisms for software and hardware dependency metadata and for business context metadata, and we need to test proposed structures for the inviolable storage of metadata and records' content. For the maintenance of records over time, we need comparative migration data, equivalent measures of the effectiveness of different systems architectures and strategic solutions for the universal retention of records (obviating the need for each institution to invest in its own migration of dependencies). Finally, we need very detailed and granular research into the needs of users and how they are articulated so that metadata on the content and context of records will support the research process.
None of these problems is going to be easy to solve. The research agenda meeting in the spring of 1997 articulated a full set of open questions which will provide grist for researchers and practitioners for a long time to come. The archivists participating looked forward to the interdisciplinary collaboration necessary to move beyond open questions to workable solutions.


text:
Vocal on Local: How Alice Waters Changed the World
All she really wanted to do was feed her friends. So in 1971, 27 and freshly returned from a life-altering stay in France, Alice Waters opened her restaurant, Chez Panisse in Berkley, California. She didn't necessarily intend to cause a culinary revolution, but still, that is exactly what she did. These days you can't pick up a magazine or read a menu without some chef, editor, or writer extolling the virtues of "eating locally, eating seasonally, and/or eating organically." Waters' commitment at the time seemed a little crazy and most assuredly daunting, but it has inspired a whole generation of chefs, home cooks, and regular folks to care about where and how what they eat is grown.
Today Alice Waters is 63 and still passionate about what we eat, however, now, she has expanded the scope of her initial quest to include the next generation. In 1996 Waters established the Edible Schoolyard Project at the Martin Luther King Jr. Middle School in Berkley. There students tend and harvest the school garden and, quite literally, have a stake in what they eat for lunch each day because they've grown it. In 2006 a second Schoolyard was launched in New Orleans at Samuel Green Charter School. Waters says, "What we are calling for is a revolution in public education – a real Delicious Revolution. When the hearts and minds of our children are captured by a school lunch curriculum, enriched with experience in the garden, sustainability will become the lens through which they see the world."
Alice Waters is a muse and a fury who has charged herself with the challenge to change the way our children eat. In the past year she has published a cookbook The Art of Simple Eating which looks to be as influential as Julia Child's Mastering the Art of French Cooking was for a previous generation. Waters has confronted the mayor of Chicago as well as the mayor of Oxford, Mississippi to affect change, and continues her quest with a fire in her eyes, a touch of flint in her soft-spoken voice, and ever the free-spirit – a dance in her step.
You can learn more about the Edible Schoolyard Project at www.edibleschoolyard.org
Recent Posts